我开发了一个从数据库中的分层数据填充树视图的应用程序。
我将它设计为使用延迟加载,因此它仅在扩展节点时获取子节点。
我的问题是,除非我调用数据库并查看,否则显然我不知道节点是否有子节点。目前我已经实现了一个虚拟子节点,因此所有节点都会出现 [+] 图标,然后我删除这个虚拟节点并在BeforeExpand
事件中获取真正的子节点。
这意味着对于没有子节点的节点,我会得到一个 [+] 图标,因此用户单击展开图标并且没有任何显示看起来有点粗制滥造。
在延迟加载树视图中处理子节点的首选方法是什么?如果我调用数据库以查看是否有子节点,那么我还不如只加载子节点而忘记延迟加载对吧?
我的一个想法是在数据库中存储一个“HasChildren”标志,这样我就可以有选择地只为实际上有子节点的节点创建我的虚拟子节点。
不好意思扯远了,我很想看看其他人的想法……