以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]动态列表问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117909)

--  作者:kysjc
--  发布时间:2018/4/20 17:41:00
--  [求助]动态列表问题
刚使用狐表,遇到一个问题,请大神们帮忙解决下;

表A中的车架号来源于表B中的车架号,我想通过下拉动态列表解决,由于车架号是唯一的,我想实现在表A中选择一个车架号后,动态列表上的车架号就减少个,这样不会由于数据多而造成输入困难。
在表B中做了个逻辑列来实现,可是出现了列表不是动态更新的,点下一个车架号的时候,上一个已选的还存在列表中,只有重新打开项目才会更新。
另外设置了车架号列是不允许重复,但通过列表选择时候是可以选重复的值。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目.table



[此贴子已经被作者于2018/4/20 17:47:10编辑过]

--  作者:有点甜
--  发布时间:2018/4/20 17:51:00
--  

DataColChanged事件

 

If e.DataCol.Name = "车架号" Then
    If e.NewValue IsNot Nothing Then
        Dim st As DataRow = DataTables("表B").Find("车架号 =\'"& e.NewValue &"\' ")
        st("已选") = True
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("表B") \'指定目录树表
        tb.TreeCols = "车型|车架号" \'指定用于生成目录树的列
        tb.SourceCols = "车架号" \'指定数据来源列
        tb.ReceiveCols = "车架号" \'指定数据接收列
        tb.TreeFilter =  "已选 = false"
        Tables("表A").Cols("车架号").DropTree = tb.Build()
    End If
End If