Получить общее количество основных и сгруппированных строк в DevExpress GridControl - PullRequest
0 голосов
/ 25 января 2012

В предыдущем вопросе , который я написал, я узнал, как отслеживать текущие развернутые сгруппированные строки, используя 2 события:

 - gridview.GroupRowExpanded
 - gridview.GroupRowCollapsed

, где я увеличиваю или уменьшаю целое число, котороеотслеживает, сколько групповых строк в настоящее время развернуто.Сейчас я решаю вопрос о том, что делать, если пользователь разворачивает или сворачивает все строки группы.В настоящее время я знаю, когда это делается, проверяя e.RowHandle.

Мне было интересно, есть ли способ найти общее количество строк групп в настоящее время в GridView (что-то вроде rowcount для обычных строк), поэтому я знаю, сколько установить целое число отслеживания.

Например:

  • Если мой текущий счетчик равен 2, а общее количество групп равно 15, то при запуске «Развернуть все» текущий счетчик устанавливается на 15, а не на 3.

1 Ответ

1 голос
/ 25 января 2012

Каждая деталь в развернутом виде имеет свой собственный вид. Таким образом, чтобы получить количество основных строк, вы можете использовать количество строк в свойстве MainView, например:

GridControl1.MainView.RowCount

Чтобы получить количество строк в группе:

    Dim Handle As Integer = -1  'group rows have negative row handles
    Do Until GridView1.GetRow(Handle) Is Nothing
        Handle -= 1
    Loop
    Dim count As Integer = Math.Abs(Handle + 1) 'number of group rows

Кроме того, вы можете использовать ваш источник данных и linq что-то вроде:

    Dim count As Integer = (From item As Class1 In List Group By item.Something Into AsEnumerable()).count

но, насколько мне известно, для этого нет прямой собственности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...