总结:如果节点分支(级别1)的数据项为零,如何删除它?如果它的子项被删除(空或已被删除),那么又会删除更高级别0的节点
经过互联网搜索后,我仍然需要知道如何查明AdvancedDatagrid
或“节点”是否包含子项。如何知道它是空的还是有“东西”?有了它,我将能够使用我的函数对其进行过滤..(下面的Expalined):
首先,我为我糟糕的英语道歉。
我有AdvancedDatagrid
dataProvider
和ArrayCollection
。
我使用GroupingCollection2
在节点中对数据进行分组。
我在ICollectionView
dataProvider
的{{1}}上使用了filterFunction。它有效!
我的分组数据示例:
AdvancedDatagrid
我只过滤“叶子”(数据子节点)上的数据。在我的过滤功能之后,数据项目会被正确过滤!
过滤后的结果示例:数据2 ,数据4 ,数据5 ,数据6 :
- Node level 0
-- Node level 1
++ Data 1
++ Data 2
++ Data 3
-- Node level 1
++ Data 4
++ Data 5
- Node level 0
-- Node level 1
++ Data 6
++ etc..
例如,具有“不需要的”数据的节点已被正确过滤掉。
但我想过滤掉那些现在“空”的节点!!那就是说如果它有零叶子项,我如何删除节点分支(级别1)?如果它们的总分支在被删除后为零,那么又会删除节点级别0
我想要这个清单:
- Node level 0
-- Node level 1
++ Data 1
++ Data 3
-- Node level 1
- Node level 0
-- Node level 1
提前谢谢。
(ps:如果我不够具体,我可以提问)
答案 0 :(得分:1)
好吧我终于弄明白了!!!
我的秘诀是,当我使用GroupingCollection2
对数据进行分组时,我会将一些新闻(带有groupingField
)分组。但是节点的itemRenderer没有显示新闻。
对于这些新闻的系统substring
,我会在filterFucntion
中使用它们。
关于“基本”分组与我的分组之间差异的说明: 事实上,当您对数据进行分组时,创建的节点仅包含已创建的字段。
例如我的数据有4个fiels:域名,测试,状态,版本。 我按域和组对它们进行分组像这样的测试(这是我的数据如何显示的一个例子,每个级别的项目渲染器都不同)。
数据之前:
- domain 1
-- test 1
++ status/version 1
++ status/version 2
-- test 2
++ status/version 3
++ status/version 4
- domain 2 etc..
叶子上的但是(++行),在分组之后,还有“分组”字段的数据。即测试和域名域名!
对于基本分组后的摘要:
我的分组数据显示相同。
<强> BUT 强>
分组后:
多亏了我可以用我的过滤器功能(使用子串系统)知道每个节点的父节点,并且在过滤器之后节点是空的同一场合!
我觉得我一点都不清楚,我道歉......这真的很复杂,所以如果有人遇到类似的问题,我已经准备好回答更具体的问题!!