我正在尝试计算高级数据网格中的行数 我需要一个可以使用或不使用filterFunction计算所有项目的函数。
我尝试了一些解决方案但没有效果。我找到的最好的是扩展所有项目并使用光标进行循环 但是,当我们拥有大量数据时,扩展所有数据并不是一个好的解决方案。
你对如何做到这一点有所了解吗?
谢谢
答案 0 :(得分:1)
我出现的唯一方法是调查dataProvider
// current not expanded data row lenght
grid.dataProvider.lenght;
// expanded length
// I assume you use xml as your data provider
// then you can count it like this
xmlListTotalSize(new XMLList(grid.dataProvider.source.source));
// or with casts
xmlListTotalSize(new XMLList((IHierarchicalCollectionView(view.grid.dataProvider).source as HierarchicalData).source));
和xmllist遍历函数可能如下所示:
private static function xmlListTotalSize(x:XMLList):int
{
var i:int = x.length();
for each(var xChild:XML in x.children())
i += xmlListTotalSize(xChild.children());
return i;
}