以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]下拉项目求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=128924)

--  作者:vxzx
--  发布时间:2018/12/18 13:58:00
--  [求助]下拉项目求助

当 “表A” 中“名称”列是某值时,查找“表B”中“名称”列,找到对应的,则“表A“中“数据”列的下拉项目为表B找到对应的值,如图。

 

代码是:

PrepareEdit事件

If e.Col.Name = "数据" Then
        Dim dr As DataRow
         dr = DataTables("表b").Find("名称= \'" & e.Row("名称") & "\'")
        If dr IsNot Nothing
            e.Col.ComboList = dr("名称对应的数据")
End If
   End If

 

目前问题是,表B 的 名称列 相同名称 会对应几个不同行的数据 ,表A出的下拉项目只显示第一个数据,后边的数据不出现,请问有什么办法可实现?


图片点击可在新窗口打开查看此主题相关图片如下:图1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:图2.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/12/18 13:58:03编辑过]

--  作者:y2287958
--  发布时间:2018/12/18 14:04:00
--  
If e.Col.Name = "数据" Then
    Dim dr As DataRow
    dr = DataTables("表b").Find("名称= \'" & e.Row("名称") & "\'")
    If dr IsNot Nothing
        e.Col.ComboList = DataTables("表b").GetComboListString("名称对应的数据","名称= \'" & e.Row("名称") & "\'")
    End If
End If

--  作者:vxzx
--  发布时间:2018/12/18 14:10:00
--  
以下是引用y2287958在2018/12/18 14:04:00的发言:
If e.Col.Name = "数据" Then
    Dim dr As DataRow
    dr = DataTables("表b").Find("名称= \'" & e.Row("名称") & "\'")
    If dr IsNot Nothing
        e.Col.ComboList = DataTables("表b").GetComboListString("名称对应的数据","名称= \'" & e.Row("名称") & "\'")
    End If
End If

感谢!


--  作者:有点甜
--  发布时间:2018/12/18 15:16:00
--  

看看

 

http://www.foxtable.com/webhelp/scr/1457.htm