Back to Devexpress

How to: Sort Group Rows by Summary Values

windowsforms-3076-controls-and-libraries-data-grid-examples-sorting-and-grouping-how-to-sort-group-rows-by-summary-values.md

latest2.1 KB
Original Source

How to: Sort Group Rows by Summary Values

  • Nov 13, 2018

The following example shows how to sort the group rows that reside at the first grouping level by summary values. The group summaries are calculated by the Freight column’s values.

The image below shows the result.

csharp
using DevExpress.Data;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Columns;

GridSummaryItem summaryItemMaxFreight;
private void Form1_Load(object sender, System.EventArgs e) {
   // ...
   // Creating a new summary item and adding it the view's summary item collection.
   summaryItemMaxFreight = gridView1.GroupSummary.Add(SummaryItemType.Max, 
     "Freight", null, String.Empty);
}

private void button1_Click(object sender, System.EventArgs e) {
   GridColumn summaryColumn = gridView1.Columns["Freight"];
   if(summaryColumn.GroupIndex < 0 && gridView1.GroupCount > 0) {
      GridColumn firstGroupingColumn = gridView1.SortInfo[0].Column;
      gridView1.GroupSummarySortInfo.Add(summaryItemMaxFreight, 
        ColumnSortOrder.Ascending, firstGroupingColumn);
   }
}
vb
Imports DevExpress.Data
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns

Dim summaryItemMaxFreight As GridSummaryItem
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
    ' ...
    ' Creating a new summary item and adding it the view's summary item collection.
    summaryItemMaxFreight = GridView1.GroupSummary.Add(SummaryItemType.Max, _
      "Freight", Nothing, String.Empty)
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Button1.Click
    Dim summaryColumn As GridColumn = GridView1.Columns("Freight")
    If summaryColumn.GroupIndex < 0 And GridView1.GroupCount > 0 Then
        Dim firstGroupingColumn As GridColumn = GridView1.SortInfo(0).Column
        GridView1.GroupSummarySortInfo.Add(summaryItemMaxFreight, _
          ColumnSortOrder.Ascending, firstGroupingColumn)
    End If
End Sub