Back to Devexpress

GroupSummarySortInfoCollection Class

windowsforms-devexpress-dot-xtragrid-dot-columns-70530aa7.md

latest5.4 KB
Original Source

GroupSummarySortInfoCollection Class

Represents a collection which contains the information required to sort the group rows by summary values.

Namespace : DevExpress.XtraGrid.Columns

Assembly : DevExpress.XtraGrid.v25.2.dll

NuGet Packages : DevExpress.Win.Grid, DevExpress.Win.Navigation

Declaration

csharp
[ListBindable(false)]
public class GroupSummarySortInfoCollection :
    CollectionBase,
    IEnumerable<GroupSummarySortInfo>,
    IEnumerable
vb
<ListBindable(False)>
Public Class GroupSummarySortInfoCollection
    Inherits CollectionBase
    Implements IEnumerable(Of GroupSummarySortInfo),
               IEnumerable

The following members return GroupSummarySortInfoCollection objects:

Remarks

The GroupSummarySortInfoCollection class represents a collection which contains the information required to sort the group rows by the summary values. This collection can be accessed via the View’s GridView.GroupSummarySortInfo property. Each element in the collection is represented by a GroupSummarySortInfo object. Its properties specify the nesting level of the group rows that are to be sorted by the summary values and the sort order and summary item which is used to calculate summary values for groups of rows.

To add elements to the collection, use the GroupSummarySortInfoCollection.Add or GroupSummarySortInfoCollection.AddRange method. To cancel any sorting of the group rows by summary values, remove the corresponding GroupSummarySortInfo object from the collection. Note that the elements are automatically removed from the collection after the sort order of the group columns which they correspond to has been changed.

For more information on sorting group rows by summary values, see the Summaries document.

Example

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

Inheritance

Object CollectionBase GroupSummarySortInfoCollection

See Also

GroupSummarySortInfoCollection Members

GroupSummarySortInfo

Summaries

DevExpress.XtraGrid.Columns Namespace