如何选择在c#中展开的特定树节点
本文关键字:树节点 何选择 选择 | 更新日期: 2023-09-27 17:54:55
我显示数据在db通过treeview。每个数据都有自己的代码和父代码(不是级别)。我的显示算法步骤是这样的
- 步骤1:查找父代码为null(根节点)的数据
- 步骤2:查找父代码为步骤1(步骤1的父代码)的数据
- 步骤3:添加1,2到treeView和显示
- 步骤4:点击节点时,查找父代码为所选节点的数据
- 步骤5:将步骤4添加为所选代码的子节点
node1
node2 -点击扩展图标
node3
选择节点
在这种情况下,我只能检查选定的节点(node4)。因此,如果我在事件单击或展开/折叠中添加子节点代码,代码将在选定的节点(节点4)上工作,而不是节点2。
这就是为什么我使用click event。
我想检查哪个节点的展开图标被点击了。在本例中,我想获取的节点是node2。
一个无知但简单的方法是……保存所有节点的状态,并将展开前与展开后进行比较。当节点数较大时,这种方法将花费很长时间。如果有其他简单的方法来选择node2,我想知道如何找到它。
对不起,我解释得不好。
你可以使用树视图的OnBeforeExpand事件。该事件有一个TreeViewCancelEventArgs参数,该参数在其node属性中携带要展开的节点。