以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何生成这种目录树 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25234) |
||||
-- 作者:hanxuntx -- 发布时间:2012/11/4 12:28:00 -- [求助]如何生成这种目录树 如图所示,要让 1,2,3…… 的Node.Name = 1 Node.Text = 壹 请问如何实现? 列可能是多列的,不一定就是三列,也就是在BuildTree(DataTableName, Columns, Filter, Sort)的效果也要达到
|
||||
-- 作者:38585830 -- 发布时间:2012/11/4 12:36:00 -- 此主题相关图片如下:未命名.jpg 不知是不是这样 |
||||
-- 作者:hanxuntx -- 发布时间:2012/11/4 12:42:00 -- 是的。 |
||||
-- 作者:38585830 -- 发布时间:2012/11/4 13:16:00 -- Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") tr.BuildTree("表A","第一列|第二列|第四列") |
||||
-- 作者:hanxuntx -- 发布时间:2012/11/4 13:23:00 -- 谢谢楼上的回复, 但是这样的话,第四列的name和名称就一样了 我要求name是第三列 text是第四列 |
||||
-- 作者:38585830 -- 发布时间:2012/11/4 13:37:00 -- 那就是你在代码里设置,当选择第三个节点的时候,在表A中找到第四列等于节点三的行,然后再将第三列的值赋给对应的项目。不知这样说能否理解? |
||||
-- 作者:38585830 -- 发布时间:2012/11/4 13:38:00 -- 你有例子吗?
|
||||
-- 作者:hanxuntx -- 发布时间:2012/11/4 13:41:00 -- 我上传了啊 |
||||
-- 作者:38585830 -- 发布时间:2012/11/4 13:45:00 -- If e.Node.Level = 2 Then \'如果单击的是第三层节点
我理解的是这样了,这样写的话 生成目录树时就按 第一 二 三列去生成 然后取值列用第四列 [此贴子已经被作者于2012-11-4 13:46:12编辑过]
|
||||
-- 作者:程兴刚 -- 发布时间:2012/11/4 13:58:00 -- Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") tr.BuildTree("表A","第一列|第二列|第三列") Dim dr As DataRow For Each nd As WinForm.TreeNode In tr.AllNodes If nd.AllNodes.Count = 0 Then dr = DataTables("表A").find("[第三列] = \'" & nd.name & "\'") If dr IsNot Nothing nd.text = dr("第四列") End If End If Next |