以文本方式查看主题

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

--  作者:kunge
--  发布时间:2013/10/22 14:43:00
--  [求助]可视化授权表的列能不能直接获取,选择?
    在可视化授权表中,要写入表名,列名,如果一个表列很多,使用者又不太熟悉,录入时,是不是相当麻烦啊?能不能做个下拉框,在表名选择后,自动获取这个表的所有列,作为列名的下拉框?
--  作者:Bin
--  发布时间:2013/10/22 14:45:00
--  
呵呵,当然可以啊.http://www.foxtable.com/help/topics/1528.htm

tables("授权表").cols("表名")=循环拼接好的表名

动态列名列表看这里最下面 http://www.foxtable.com/help/topics/0605.htm

--  作者:kunge
--  发布时间:2013/10/22 15:13:00
--  
是不是我还要新建一个表,把表名列名一一对应好?狐表的自带的,下拉框很多可以自动获取列名,能不能不用新建表,用代码获取呢?
--  作者:Bin
--  发布时间:2013/10/22 15:17:00
--  
不需要新建的啊.遍历所有表即可呀
 dim dtname as string
for each dt as datatable  in datatables
       dtname=dtname & dt.name & "|"
next

tables("授权表").cols("表名")= dtname.trim("|")

--  作者:kunge
--  发布时间:2013/10/22 17:33:00
--  
If e.Col.Name = "表名" Then
Dim dtname As String
For Each dt As DataTable  In DataTables
       dtname=dtname & dt.name & "|"
Next

Tables("授权表").cols("表名").Combolist= dtname.trim("|")
End If
If e.Col.Name = "列名" Then
Dim clname As String
For Each cl As Col In DataTables("表名").Cols
   clname=clname & cl.name & "|"
Next

Tables("授权表").cols("列名").Combolist= clname.trim("|")
End If




帮助上,不是可以直接引用e.Col.Combolist = DataTables("行政区域").GetComboListString,表名,我这里不可以,遍厉,选择的表名,以获得列名时,提示错误!可能是这段代码,系统无法判断,改怎么遍历获得列呢?

--  作者:Bin
--  发布时间:2013/10/22 17:39:00
--  
晕,你上例子吧.你这样做不对.
--  作者:kunge
--  发布时间:2013/10/22 17:48:00
--  
我在PrepareEdit 事件里添加的代码,表名的下拉框可以正常获取,我又添加列的下拉框,获取就失败了,
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:授权表.foxdb


--  作者:Bin
--  发布时间:2013/10/22 17:54:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:授权表.foxdb