Foxtable(狐表)用户栏目专家坐堂 → 请教:二个DataList如何显示关联?


  共有21437人关注过本帖树形打印复制链接

主题:请教:二个DataList如何显示关联?

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
请教:二个DataList如何显示关联?  发帖心情 Post By:2009/5/7 16:52:00 [显示全部帖子]

我的一个窗口中加入了DataList1和一个按钮,DataList1动态绑定了员工档案表,按钮中代码是打开"个人简历"的窗口,而个人简历窗口中又有一个DataList2,是绑定的个人简历表,本生员工档案与个人简历二表就是以工号做为关联的,我的想法是:当窗口一中光标停在一行时,打开的个人简历窗口就能显示出关联行,不知这样的代码如何写?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/7 17:25:00 [显示全部帖子]

八婺的代码确实比贺老师的好懂,呵呵,谢谢二位老师!

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/7 17:37:00 [显示全部帖子]

二位老师的代码是能在找开窗口二时就是我选的行,但是不能动态的显示出关联来,有何办法?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/7 18:11:00 [显示全部帖子]

是的,比如说,当我放在张三这行时打开了窗口2,显示的是张三的关联行,但是如果我又想看李四的详细情况了,我移动到李四行时,窗口二现在还是原张三的信息,我只能是关了窗口2再打开才能看到李四的信息,所以我希望的是,我移到哪一行,窗口2也能显示出相关联的信息行来
[此贴子已经被作者于2009-5-7 18:14:10编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/7 18:17:00 [显示全部帖子]

我试试,先谢谢贺老师!

 回到顶部
美女呀,离线,留言给我吧!
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/7 18:40:00 [显示全部帖子]

成功了,我的代码如下:

If forms("档案关联").Opened Then '如果窗口2打开了
    Dim dr As DataRow = e.Form.Controls("DataList1").Current '取得窗口1选择的员工行
    Forms("档案关联").Controls("DataList1").RowFilter = "[工号] = '" & dr("工号") & "'"
End If

If forms("档案关联").Opened Then '如果窗口2打开了
    Dim dr2 As DataRow = e.Form.Controls("DataList1").Current '取得窗口1选择的员工行
    Forms("档案关联").Controls("DataList2").RowFilter = "[工号] = '" & dr2("工号") & "'"
End If

If forms("工资列表").Opened Then '如果窗口2打开了
    Dim dr As DataRow = e.Form.Controls("DataList1").Current '取得窗口1选择的员工行
    Forms("工资列表").Controls("DataList1").RowFilter = "[工号] = '" & dr("工号") & "'"
End If


结论如下:二楼和十楼的代码配合使用才能达到我的要求,呵呵,再次感谢二位教师!
[此贴子已经被作者于2009-5-7 18:40:32编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/7 19:33:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-5-7 19:04:00的发言:

Dim dr As DataRow = e.Form.Controls("DataList1").Current '取得窗口1选择的员工行
If forms("档案关联").Opened Then '如果窗口2打开了 
    Forms("档案关联").Controls("DataList1").RowFilter = "[工号] = '" & dr("工号") & "'"
End If

If forms("档案关联").Opened Then '如果窗口2打开了 
    Forms("档案关联").Controls("DataList2").RowFilter = "[工号] = '" & dr("工号") & "'"
End If

If forms("工资列表").Opened Then '如果窗口2打开了 
    Forms("工资列表").Controls("DataList1").RowFilter = "[工号] = '" & dr("工号") & "'"
End If


这样更精简了,呵呵


 回到顶部
美女呀,离线,留言给我吧!
yangming
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/7 19:49:00 [显示全部帖子]

15楼的更好,呵呵

 回到顶部