以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求一个代码,点击表格中某一行的时候,自动定位到目录树节点  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89176)

--  作者:lovemaders
--  发布时间:2016/8/16 17:15:00
--  求一个代码,点击表格中某一行的时候,自动定位到目录树节点
如题
[此贴子已经被作者于2016/8/16 17:15:28编辑过]

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

 循环所有的节点,判断节点的属性 .text 或者 .fullname 等,确定是否对应。

 

Dim trv As WinForm.TreeView = e.form.Controls("TreeView1")
For Each nd As  WinForm.TreeNode In trv.AllNodes
    If nd.text = "abc" Then
        trv.SelectedNode = nd
    End If
Next

--  作者:lovemaders
--  发布时间:2016/8/16 17:27:00
--  这个代码写在哪个事件比较好呢
就是点击表中的行的时候就执行这个代码,放在哪个事件中比较好呢
--  作者:大红袍
--  发布时间:2016/8/16 17:43:00
--  
可以写在 Click 事件,也可以写在 currentChanged 事件
--  作者:lovemaders
--  发布时间:2016/8/16 17:46:00
--  代码错误,求帮改

Dim trv As WinForm.TreeView = e.form.Controls("TreeView1")
For Each nd As  WinForm.TreeNode In trv.AllNodes
    \'\'If nd.text = "abc" Then
    If nd.Text = nd.DataRow("公司编号") & " " & nd.text  Then
        trv.SelectedNode = nd
    End If
Next

 

对象实例错误。

[此贴子已经被作者于2016/8/16 17:49:50编辑过]

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

Dim trv As WinForm.TreeView = e.form.Controls("TreeView1")
For Each nd As  WinForm.TreeNode In trv.AllNodes
    If nd.Text = e.Table.Current("某列")  Then
        trv.SelectedNode = nd
    End If
Next


--  作者:lovemaders
--  发布时间:2016/8/16 18:24:00
--  谢谢搞定不过有个问题

因为选定目录树节点的节点背景色是蓝色,当焦点不再目录树那边的时候是一个白色背景色,所以之前为了美观,我把目录树的背景色也设置白色了,刚才用了这个代码,幸亏因为有2个分节点行点击了一下,左边的目录树展开我才知道代码执行了,要不然还真是明明对了却不知道哪里错了呢,说这个的意思就是,选中行的时候左边的节点选中的时候能不能也是蓝色,而不是白色呢,因为这个白色有点像BUG的感觉。不太喜欢。有方法改这个吗
图片点击可在新窗口打开查看此主题相关图片如下:69.png
图片点击可在新窗口打开查看

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:63.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:65.png
图片点击可在新窗口打开查看

 

这样写颜色会混乱呢。

[此贴子已经被作者于2016/8/16 18:41:00编辑过]

--  作者:大红袍
--  发布时间:2016/8/16 21:15:00
--  

Dim trv As WinForm.TreeView = e.form.Controls("TreeView1")
For Each nd As  WinForm.TreeNode In trv.AllNodes
    If nd.Text = e.Table.Current("某列")  Then
        trv.SelectedNode = nd

        trv.Select

        Exit For
    End If
Next


--  作者:lovemaders
--  发布时间:2016/8/16 21:29:00
--  这样的话
这样的话这个代码是放在click上把,放到currentchange的话是一蓝一白交替,另外有没有改成其他颜色的方法?
--  作者:大红袍
--  发布时间:2016/8/16 21:52:00
--  

 参考

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=44083&skin=0