以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]老师帮助看下目录树的代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62072) |
-- 作者:huangfanzi -- 发布时间:2014/12/24 22:42:00 -- [求助]老师帮助看下目录树的代码 我在窗口中的某个按钮中写了如下代码: Dim tb As New DropTreeBuilder tb.SourceTable = DataTables("A") \'指定目录树表 tb.TreeCols = "通知单号" \'指定用于生成目录树的列 tb.SourceCols = "通知单号|公司|代码|合同号|预计入库日期|合同主号" \'指定数据来源列 tb.ReceiveCols = "通知单号|公司|代码|合同号|预计入库日期|合同主号" \'指定数据接收列 tb.TreeWidth=150 tb.TreeFilter="[是否制单]=False" Tables("B").Cols("通知单号").DropTree = tb.Build() 这段代码生成的目录树后有个瑕疵,假定A表中有三条记录的是否制单为false,哪么,这个目录树生成的选项一直会有三个,我现在希望选择一个并且写入表后,再选时这个之前选过的不要出现在选项中。 之前我通过B表中的代码修改A表相关记录的是否制单列值可以实时的去掉已经选用过的通知单号,但这个方案在局域网使用中容易产生冲突与错误,我也不想用独占模式写代码,这对初学者来说有点累,所以,我现在的项目实行一个原则:自己做自己的表,在自己的表中只能去引用别的表的数据,不得修改。 基于这个原则,上面的目录树代码中,tb.TreeFilter的条件我希望是:是否制单列为False并且通知单号在表B中未出现过,老师看看能实现吗?谢谢老师。
|
-- 作者:有点甜 -- 发布时间:2014/12/24 22:47:00 -- tb.TreeFilter = "[是否制单]=False and 通知单号 not in (\'" & DataTables("B").GetComboListString("通知单号").Replace("|", "\',\'") & "\')" |
-- 作者:huangfanzi -- 发布时间:2014/12/24 22:56:00 -- 甜老师,神人也,真的行,这个 not in 是什么语句啊,没接触过。 |
-- 作者:有点甜 -- 发布时间:2014/12/24 22:58:00 -- 参考 http://www.foxtable.com/help/topics/1647.htm
|
-- 作者:huangfanzi -- 发布时间:2014/12/25 9:04:00 -- tb.TreeFilter = "[是否制单]=False and 通知单号 not in (\'" & DataTables("B").GetComboListString("通知单号").Replace("|", "\',\'") & "\')" 这段代码中的 and 为什么不能用 andalso 我刚试着用就出错了,说缺少运算符
|
-- 作者:有点甜 -- 发布时间:2014/12/25 10:17:00 -- andAlso 是代码,不是设置表达式的语法 |