winform中treeview动态加载treenode的问题
现在想实现这样的功能,就是treeview的动态加载。
这里的动态加载是指,展开一个结点时,从数据源中读取此结点的子结点,并加载进来。
这样做的目的是不想一次加载完一棵树的所有数据,因为会比较慢。比如我要加载全国行政组织机构,不可以一次全部都加载,而是展开某省时,才加载这个省的下一级结点(也就是地市级)。
难度在于获取不到展开的结点。有人知道如何获得吗?
展开结点是通过点击结点前面的+号来展开的。不存在selectednode。 winform treeview 动态加载 展开结点
[解决办法]
有事件,beforeexpand,展开前触发,在这里读取属于该节点的下级节点,node的tag属性可以保存记录id
[解决办法]
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Node.Tag != null)
{
e.Node.Nodes.Clear();
TreeNode node = new TreeNode("虹口");
TreeNode node1 = new TreeNode("浦东");
e.Node.Nodes.Add(node);
e.Node.Nodes.Add(node1);
}
}