以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  ComboList的用法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186535)

--  作者:cd_tdh
--  发布时间:2023/5/9 17:51:00
--  ComboList的用法
1、ComboList 可以像复选组合框那样显示复选框框吗?
Select Case e.Col.Name
    Case "必填内容"
        If e.IsFocusCell Then \'如果是焦点所在单元格
            Dim lst As String = ""
            Dim dt As DataTable = DataTables(e.Row("表名"))
            For Each dc As DataCol In dt.DataCols
                lst &= "|" & dc.name
            Next
            lst = lst.trimstart("|")
            e.Col.ComboList = String.join("|", lst.toarray)
        End If
End Select

2、如果不行,用下拉窗口代替,生成目录树的代码该怎么修改?
Dim r As Row = Tables("必填内容表").Current
If r("表名") <> "" Then
    Dim dt As DataTable = DataTables(r("表名"))
    Dim lst As String = ""
    For Each dc As DataCol In dt.DataCols
        lst &= "|" & dc.name
    Next
    lst = lst.trimstart("|")
    Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
    trv.BuildTree(dt, lst)
End If
[此贴子已经被作者于2023/5/9 17:55:20编辑过]

--  作者:有点蓝
--  发布时间:2023/5/9 20:20:00
--  
1、使用CheckedComboBoxhttp://www.foxtable.com/webhelp/topics/0940.htm
--  作者:cd_tdh
--  发布时间:2023/5/10 8:10:00
--  
我是想在焦点在必填内容列时,显示对应表名的所有列名,并且可以多选,表格中怎么用CheckedComboBox?
                e.Col.ComboList = dt.GetComboListString(lst)    
该怎么写?
[此贴子已经被作者于2023/5/10 8:31:31编辑过]

--  作者:有点蓝
--  发布时间:2023/5/10 8:38:00
--  
参考:http://www.foxtable.com/webhelp/topics/1457.htm
--  作者:cd_tdh
--  发布时间:2023/5/10 8:44:00
--  
GetComboListString语法是(ColumnName,Filter, Sort)
ColumnName是指定的列名,
但是ComboList根据e.Row("表名")循环出来的所有列名,不知道该怎么写啊?
Select Case e.Col.Name
    Case "必填内容"
        If e.IsFocusCell Then \'如果是焦点所在单元格
            Dim lst As String = ""
            Dim dt As DataTable = DataTables(e.Row("表名"))
            For Each dc As DataCol In dt.DataCols
                lst &= "|" & dc.name
            Next
            lst = lst.trimstart("|")
            e.Col.ComboList = dt.GetComboListString(没想明白这儿改怎么变通处理啊)
        End If
End Select
[此贴子已经被作者于2023/5/10 8:52:27编辑过]

--  作者:有点蓝
--  发布时间:2023/5/10 8:52:00
--  
学会变通哦,不要只会抄。列名的获取方法参考1楼第一点的用法,根据表名列获取对应的列名,然后套入4楼帮助
--  作者:cd_tdh
--  发布时间:2023/5/10 8:53:00
--  
就是没想明白怎么变通处理啊
--  作者:有点蓝
--  发布时间:2023/5/10 8:59:00
--  
不是吧

e.Col.ComboList = lst

--  作者:cd_tdh
--  发布时间:2023/5/10 9:10:00
--  
这样写,没有复选框啊,没法一次选择我需要的多列内容。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20230510090135.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2023/5/10 9:11:00
--  
http://www.foxtable.com/webhelp/topics/0939.htm