以文本方式查看主题 - 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=143944) |
-- 作者:江南小镇 -- 发布时间:2019/12/6 18:51:00 -- [求助]目录树 老师,想直接引用窗口绑定的非副本表(通讯录)。 If e.Node.Name = "显示所有行" Then Tables(e.Form.Name & "_Table2").Filter = "" Else Dim FilterCol() As String = e.Form.Controls("复选").Value.Split(",") Dim TmpStr() As String = e.Node.FullPath.Split("\\") Dim FilterStr As String For i As Integer = 0 To e.Node.Level FilterStr = FilterStr & "[" & FilterCol(i) & "] = \'" & TmpStr(i) & "\' And " Next FilterStr = FilterStr.SubString(0,FilterStr.Length - 5) Tables(e.Form.Name & "_Table2").Filter = FilterStr End If
|
-- 作者:有点蓝 -- 发布时间:2019/12/6 20:31:00 -- normal非副本表,直接写主表名称即可 Tables(“通讯录”).Filter = "" 如果要通用一点,可以这样 e.Form.Controls("Table2").Table.Filter = ""
|
-- 作者:江南小镇 -- 发布时间:2019/12/6 22:21:00 -- 老师,这是窗口代码和内部函数也要修改成直接引用窗口非副本表。谢谢老师 With Tables(e.Form.Name & "_Table2") .EnterKeyActionDown = True .AutoSizeCols Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("复选") For Each C As Col In .Cols dz_FilterCol.Items.Add(C.Name) Next dz_FilterCol.Value = "客户供应商,姓名" End With [此贴子已经被作者于2019/12/6 22:22:46编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/6 22:33:00 -- 用法完全一样 |
-- 作者:江南小镇 -- 发布时间:2019/12/6 22:51:00 -- 老师,这组代码报错。 |
-- 作者:有点蓝 -- 发布时间:2019/12/6 22:56:00 -- 报什么错? |
-- 作者:江南小镇 -- 发布时间:2019/12/7 7:19:00 -- 老师,代码报错。 With e.Form.Controls("Table2") .EnterKeyActionDown = True .AutoSizeCols Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("复选") For Each C As Col In .Cols dz_FilterCol.Items.Add(C.Name) Next dz_FilterCol.Value = "客户供应商,姓名" End With .NET Framework 版本:2.0.50727.8669 Foxtable 版本:2017.4.22.1 错误所在事件:窗口,供应商客户信息,AfterLoad 详细错误信息: 未找到类型“Table”的公共成员“EnterKeyActionDown”。 |
-- 作者:有点蓝 -- 发布时间:2019/12/7 9:06:00 -- 既然不懂就要认真分析查看别人是怎么用的。不懂还闭着眼睛用那就是在给自己找麻烦,本来几分钟就能解决的问题... With e.Form.Controls("Table2").table
|
-- 作者:江南小镇 -- 发布时间:2019/12/7 9:51:00 -- 老师,下面代码有错了。 If e.Node.Name = "显示所有行" Then \' Tables(e.Form.Name & "_Table2").Filter = "" e.Form.Controls("Table2").Table.Filter = "" Else Dim FilterCol() As String = e.Form.Controls("复选").Value.Split(",") Dim TmpStr() As String = e.Node.FullPath.Split("\\") Dim FilterStr As String For i As Integer = 0 To e.Node.Level FilterStr = FilterStr & "[" & FilterCol(i) & "] = \'" & TmpStr(i) & "\' And " Next FilterStr = FilterStr.SubString(0,FilterStr.Length - 5) \'Tables(e.Form.Name & "_Table2").Filter = FilterStr e.Form.Controls("Table2").Filter = FilterStr End If .NET Framework 版本:2.0.50727.8669 Foxtable 版本:2017.4.22.1 错误所在事件:窗口,供应商客户信息,筛选树,AfterSelectNode 详细错误信息: 未找到类型"Table"的公共成员"Filter".
|
-- 作者:有点蓝 -- 发布时间:2019/12/7 11:06:00 -- 同样的问题,请自行解决 |