以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  复选框与目录树的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82423)

--  作者:douglas738888
--  发布时间:2016/3/17 15:39:00
--  复选框与目录树的问题
老师,TABLE表设置了Tables("表A").ShowCheckBox = True 复选框

问题:窗口目录树如何实现勾选的行在目录树节点上动态显示         还是一定要在TABLE设置逻辑列

Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("表A", "专业")
For Each nd As WinForm.TreeNode In tv.Nodes  \'遍历部分节点
    nd.Text = nd.DataRow("专业") & "   |负责人-" & nd.DataRow("负责人")& "   |部门-" & nd.DataRow("部门")
Next

--  作者:大红袍
--  发布时间:2016/3/17 16:03:00
--  

最好有逻辑列这样方便设置。只需要写如下代码即可

 

nd.Checked = nd.DataRow("逻辑列")

 

如果直接弄也行,要查询

 

Dim idx As Integer = Tables("表A").FindRow("_Identify = \'" & nd.DataRow("_Identify") & "\'")

If idx >= 0 Then

    nd.Checked = Tables("表A").Rows(idx).Checked

Else

    nd.Checked = False

End If


--  作者:douglas738888
--  发布时间:2016/3/17 16:28:00
--  
Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("表A", "专业")
For Each nd As WinForm.TreeNode In tv.Nodes \'遍历所有节点
    nd.Text = nd.DataRow("专业") & "   |负责人-" & nd.DataRow("负责人")& "   |部门-" & nd.DataRow("部门")
    nd.Checked = nd.DataRow("选择")
Next

我已经加了逻辑列“选择”以上代码没有实现功能,老师看看是否我的代码有问题
[此贴子已经被作者于2016/3/17 16:28:20编辑过]

--  作者:大红袍
--  发布时间:2016/3/17 17:07:00
--  

代码没问题。

 

你选择列勾选了吗,只要勾选了,打开窗口的时候,就会勾选的。


--  作者:douglas738888
--  发布时间:2016/3/17 17:20:00
--  
TABLE的选择列已经勾选了,窗口目录树第一个节点还是全部显示列中的内容,而不是单独动态显示已勾选的行(第一个节点)

我的操作是,在TABLE表中勾选相应的行后,窗口目录树仅显示所勾选行形成目录树的第一个节点

上个例子,看看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试aa.zip




--  作者:大红袍
--  发布时间:2016/3/17 17:34:00
--  

呃......

 

Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("策划主表", "专业", "选择 = true")
For Each nd As WinForm.TreeNode In tv.Nodes \'遍历所有节点
    nd.Text = nd.DataRow("专业") & "   |负责人-" & nd.DataRow("负责人")
Next