我通过树视图在 db 中显示数据。每个数据都有自己的代码和父代码(不是级别)。我的显示算法步骤是这样的
- 步骤1:查找父代码为空的数据(根节点)
- 步骤 2:查找父代码为步骤 1 的数据(步骤 1 的父代码)
- 第 3 步:将 1,2 添加到 treeView 并显示
- 第四步:点击节点时,查找父代代码被选中节点的数据
- 第 5 步:将第 4 步添加为选定代码的子节点
节点1
└ node2 - 点击展开图标
└ 节点3
└ node4 - 选择的节点
在这种情况下,我只能检查选定的节点(node4)。因此,如果我在事件单击或展开/折叠中添加添加子节点代码,则代码正在选定节点(节点 4)上工作,而不是节点 2。
这就是我使用点击事件的原因。
我想检查单击了哪个节点的展开图标。在这个例子中,我想要获取的节点是 node2。
一个无知但简单的方法很好......保存所有节点的状态并在扩展之前与之后进行比较。当节点数量很大时,这种方式会花费太长时间。
如果有其他简单的方法来选择node2,我想知道如何找到它。
对不起,我的解释很糟糕。