以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教:二个DataList如何显示关联?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2713)

--  作者:yangming
--  发布时间:2009/5/7 16:52:00
--  请教:二个DataList如何显示关联?
我的一个窗口中加入了DataList1和一个按钮,DataList1动态绑定了员工档案表,按钮中代码是打开"个人简历"的窗口,而个人简历窗口中又有一个DataList2,是绑定的个人简历表,本生员工档案与个人简历二表就是以工号做为关联的,我的想法是:当窗口一中光标停在一行时,打开的个人简历窗口就能显示出关联行,不知这样的代码如何写?
--  作者:狐狸爸爸
--  发布时间:2009/5/7 17:10:00
--  

在窗口2的AfterLoad事件中加入:

Dim dr As DataRow = forms("窗口1").Controls("DataList1").Current \'取得窗口1选择的员工行

e.Form.Controls("DataList1").RowFilter = "[工号] = \'" & dr("工号") & "\'" 

[此贴子已经被作者于2009-5-7 17:10:14编辑过]

--  作者:八婺
--  发布时间:2009/5/7 17:18:00
--  
Dim dtl1 As WinForm.DataList = Forms("员工档案").Controls("DataList1")
Dim dtl2 As WinForm.DataList = e.Form.Controls("DataList2")
Dim dr as DataRow = dtl1.Current
If dr IsNot Nothing Then
    dtl2.RowFilter = "[工号] = \'" & dr("工号") & "\'"
End If

--  作者:八婺
--  发布时间:2009/5/7 17:19:00
--  
我靠,和老六差远了图片点击可在新窗口打开查看
--  作者:狐狸爸爸
--  发布时间:2009/5/7 17:23:00
--  
哪里啊?
你的代码和我一样,而且你的更清晰严谨啊。
[此贴子已经被作者于2009-5-7 17:29:13编辑过]

--  作者:yangming
--  发布时间:2009/5/7 17:25:00
--  
八婺的代码确实比贺老师的好懂,呵呵,谢谢二位老师!
--  作者:yangming
--  发布时间:2009/5/7 17:37:00
--  
二位老师的代码是能在找开窗口二时就是我选的行,但是不能动态的显示出关联来,有何办法?
--  作者:狐狸爸爸
--  发布时间:2009/5/7 17:59:00
--  
以下是引用yangming在2009-5-7 17:37:00的发言:
二位老师的代码是能在找开窗口二时就是我选的行,但是不能动态的显示出关联来,有何办法?


你的意思是两个窗口同时打开,在窗口1中选择移一行,窗口2动态显示关联行?


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

--  作者:狐狸爸爸
--  发布时间:2009/5/7 18:14:00
--  
在窗口1的DataList的CurrentChanged事件中加入代码:

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