以文本方式查看主题

-  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=103061)

--  作者:douglas738888
--  发布时间:2017/6/29 22:37:00
--  表单元格下拉多列取值问题

请教老师,下面代码怎样修改实现表的单元格下拉多列取值填入,取值列为“系数”  这里无法使用数据字典

 

If e.IsFocusCell Then
    If e.Col.Name = "提取系数" Then
        Dim cmd As New SQLCommand
        Dim dt As DataTable
        cmd.C
        cmd.CommandText = "SELECT DISTINCT 系数 岗位 F rom {管理系数} Where [系数] = \'" & e.Row("提取系数") & "\'"
        dt = cmd.ExecuteReader
        e.Col.Combolist = dt.SQLGetComboListString("系数") & "|" dt.SQLGetComboListString("岗位")
    End If
End If


--  作者:有点色
--  发布时间:2017/6/29 23:02:00
--  

这个意思?

 

        cmd.CommandText = "SELECT DISTINCT 系数 + \',\' + 岗位 as 值 From {管理系数} Where [系数] = \'" & e.Row("提取系数") & "\'"
        dt = cmd.ExecuteReader
        e.Col.Combolist = dt.GetComboListString("值")


还是说这样的?

 

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

 

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

 


--  作者:douglas738888
--  发布时间:2017/6/30 11:00:00
--  

老师,帮助里面我看了,都是从加载进来的表提取的,如果要取值表不加载进来,无法取值

如果不加载要取值的表(非动态数据),不知道怎样从后台提取多列下拉,最终的结果想实现从后台提取数据,在表的单元格下拉可见

 

比如       0.5|副总

             0.4|经理

             0.3|副经理

             ....

            表的单元格取值为0.5或0.4 或0.3

 

1楼代码,现在得到的下拉是

 

0.1

0.2

0.3

副总

经理

副经理

 

 

 

 

[此贴子已经被作者于2017/6/30 11:18:21编辑过]

--  作者:有点蓝
--  发布时间:2017/6/30 11:18:00
--  
这种方式:http://www.foxtable.com/webhelp/scr/2465.htm
--  作者:有点甜
--  发布时间:2017/6/30 11:41:00
--  

1、不要在prepareEdit事件写你那段代码,prepareEdit执行的频率很高的,你的查询代码很耗时。

 

2、如果要设置,参考代码

 

Dim dt As DataTable = DataTables("表A")
Dim mdm As New MultiDataMap
For Each dr As DataRow In dt.Select("")
    mdm.Add(dr("第一列") & "|" & dr("第二列") & "|" & dr("第三列"))
Next
mdm.ValueCol = 0
mdm.DisplayCol = 1
Tables("表B").Cols("第一列").DataMap = mdm.CreateDataMap()