AdvancedDataGrid当子节点全部删除后仍显示文件夹图标的问题

来源:互联网 发布:51单片机的最小系统图 编辑:程序博客网 时间:2024/05/16 05:13

在项目中用AdvancedDataGrid展示树形结构的数据,当用A.children.removeItemAt删除A节点的所有子节点后,发现A的图标仍然是文件夹。

查看AdvancedDataGrid的源代码,发现有个方法itemToIcon,而该方法决定了AdvancedDataGrid显示的图标。

在itemToIcon方法中是调用isBranch判断是否显示文件夹图标,而isBranch方法又调用_rootModel.canHaveChildren方法(这里_rootModel是IHierarchicalData)。

继续看HierarchicalData的源码,发现HierarchicalData的canHaveChildren方法的判断标准是

而HierarchicalData的hasChildren方法的判断标准是

于是新建了一个类MyHierarchicalData,该类的代码如下,

之后把AdvancedDataGrid的dataProvider改为MyHierarchicalData,大功告成。

原创粉丝点击