当我按列Col对超级网格进行分组时,我希望获得按行分组的计数,我的意思是按列分组后,最终可能会出现两个逐行分组。如何获取按行分组的计数?
发布于 2013-01-04 06:23:53
在分组完成后,网格的行集合将包含GroupByRows,因此您可以检查grid.Rows.Count。
发布于 2016-01-29 07:02:36
对于整个网格,我能够获取所有顶级行的所有ChildBands,然后计算它们拥有的IsGroupByRow行的数量:
var childBands = UltraGrid1.Rows.SelectMany(x => x.ChildBands.Cast<UltraGridChildBand());
var allChildRows = childBands.SelectMany(y => y.Rows));
var groupByRowCount = allChildRows.Count(x => x.IsGroupByRow);如果您有要检查的特定行,可以执行以下操作:
var childBands = specificRow.ChildBands.Cast<UltraGridChildBand>();
var groupByRowCount = childBands.SelectMany(x => x.Rows).Count(x => x.IsGroupByRow)这感觉像是一种非常绕来绕去的获得子row对象的方法……当然还有更好的方法。
如果您按多个列进行分组,我的示例不起作用。问题似乎是这样的,引用this post的Mike Saltzman的话
GroupByRow永远不会有ChildBands集合。ChildBands仅存在于数据行上。您需要做的是将行转换为UltraGridGroupByRow,并使用行集合获取它的子行。
我相信有一个example on Infragistics website非常接近你要找的东西。
https://stackoverflow.com/questions/14068378
复制相似问题