Для всей сетки я смог захватить все ChildBands
для всех строк верхнего уровня, а затем подсчитать количество строк IsGroupByRow
, которые у них были:
var childBands = UltraGrid1.Rows.SelectMany(x => x.ChildBands.Cast y.Rows));
var groupByRowCount = allChildRows.Count(x => x.IsGroupByRow);
Если у вас есть определенная строка, которую вы хотите проверить, вы можете сделать следующее:
var childBands = specificRow.ChildBands.Cast();
var groupByRowCount = childBands.SelectMany(x => x.Rows).Count(x => x.IsGroupByRow)
Это похоже на действительно круглый способ добраться до объектов дочерних строк ... конечно, есть лучший способ.
Мой пример не работает, если вы группируете более одного столбца. Проблема заключается в том, что, цитируя Майка Салцмана из этого сообщения :
В группе GroupByRow никогда не будет коллекции ChildBands. ChildBands существуют только в строках данных. Вам нужно сделать строку в UltraGridGroupByRow и использовать коллекцию Rows, чтобы получить ее дочерние строки.
Пример на сайте Infragistics , который, я считаю, очень близок к тому, что вы «Ищем.