这是一个System.Windows.Forms.TreeView,而不是WPF或Web TreeView.
我必须遗漏一些东西,因为我无法相信这是那么困难.
我的表单上有一个TreeView.加载所有数据以填充TreeView非常慢,因此我只想加载顶级节点,然后在用户展开节点时填充子节点.问题是,如果节点没有任何子节点,它不会在节点旁边显示+号,这意味着它无法展开,这意味着我无法捕获扩展事件来加载子节点.
多年前,当我使用PowerBuilder时,你会将一个HasChildren(或类似)属性设置为true,基本上"谎言"到控件并强制它显示+,然后你可以捕获Expanding事件.当没有子节点时,我无法弄清楚如何强制+出现在节点上.
我尝试过一种方法,我在每个节点上添加一个虚拟节点,然后在扩展检查虚拟节点是否存在并删除它然后加载子节点,但由于各种原因不值得进入这里解决方案不是在我的情况下可行.
我用Google搜索了c#,treeview,延迟,延迟,加载,强制,扩展以及其他一些现在没有运气的条款.
PS我在SourceForge上找到了TreeViewAdv项目,但如果可以避免,我宁愿不在我们的环境中引入新组件.
| 归档时间: |
|
| 查看次数: |
4227 次 |
| 最近记录: |