This topic demonstrates how to use the GroupIntervalEnum.Custom member in C1TrueDBGrid.
Complete the following steps:
To write code in Visual Basic
Visual Basic |
Copy Code
|
---|---|
Me.ProductsTableAdapter.Fill(Me.Products._Products) |
To write code in C#
C# |
Copy Code
|
---|---|
this.productsTableAdapter.Fill(this.Products._Products); |
In the Designer
In the C1TrueDBGrid Tasks menu, select GroupBy from the Data Layout drop-down.
In Code
Add the following code to the Form_Load event:
To write code in Visual Basic
Visual Basic |
Copy Code
|
---|---|
Me.C1TrueDBGrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy |
To write code in C#
C# |
Copy Code
|
---|---|
this.c1TrueDBGrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy; |
The column can also be selected by choosing UnitPrice from the drop-down list in the toolbar.
In the Designer
Locate the Interval property in the left pane of the C1TrueDBGrid Designer and set it to custom.
In Code
Add the following code to the Form_Load event:
To write code in Visual Basic
Visual Basic |
Copy Code
|
---|---|
' Set the GroupInfo.Interval of the grid to Custom. Me.C1TrueDBGrid1.Columns("UnitPrice").GroupInfo.Interval = C1.Win.C1TrueDBGrid.GroupIntervalEnum.Custom |
To write code in C#
C# |
Copy Code
|
---|---|
// Set the GroupInfo.Interval of the grid to Custom. this.c1TrueDBGrid1.Columns["UnitPrice"].GroupInfo.Interval = C1.Win.C1TrueDBGrid.GroupIntervalEnum.Custom; |
In the Designer
Locate the NumberFormat property in the left pane of the C1TrueDBGrid Designer and set it to Currency.
In Code
Add the following code to the Form_Load event:
To write code in Visual Basic
Visual Basic |
Copy Code
|
---|---|
' Set the UnitPrice column to be displayed as currency. Me.C1TrueDBGrid1.Columns("UnitPrice").NumberFormat = "Currency" |
To write code in C#
C# |
Copy Code
|
---|---|
// Set the UnitPrice column to be displayed as currency. this.c1TrueDBGrid1.Columns["UnitPrice"].NumberFormat = "Currency"; |
In the Designer
Locate the ColumnVisible property in the left pane of the C1TrueDBGrid Designer and set it to True.
In Code
Add the following to the Form_Load event:
To write code in Visual Basic
Visual Basic |
Copy Code
|
---|---|
' Keep the UnitPrice column visible while grouping. Me.C1TrueDBGrid1.Columns("UnitPrice").GroupInfo.ColumnVisible = True |
To write code in C#
C# |
Copy Code
|
---|---|
// Keep the UnitPrice column visible while grouping. this.c1TrueDBGrid1.Columns["UnitPrice"].GroupInfo.ColumnVisible = true; |
To write code in Visual Basic
Visual Basic |
Copy Code
|
---|---|
' Get the value from the current grid cell as a Decmimal. Dim p As Decimal = CType(Me.C1TrueDBGrid1(e.Row, e.Col.DataColumn.DataField), Decimal) ' Assign the custom grouping values. If p > 0 And p < 10 Then e.Value = "$0 - $9.99" ElseIf p >= 10 And p < 20 Then e.Value = "$10.00 - $19.99" ElseIf p >= 20 And p < 40 Then e.Value = "$20.00 - $39.99" ElseIf p >= 40 And p < 60 Then e.Value = "$40.00 - $59.99" ElseIf p >= 60 Then e.Value = "$60 And Greater" End If |
To write code in C#
C# |
Copy Code
|
---|---|
// Get the value from the current grid cell as a Decimal. decimal p = ((decimal)this.c1TrueDBGrid1(e.Row,e.Col.DataColumn.DataField)); // Assign the custom grouping values. If (p > 0 && p < 10) { e.Value = "$0 - $9.99"; } else if (p >= 10 && p < 20) { e.Value = "$10.00 - $19.99"; } else if (p >= 20 && p < 40) { e.Value = "$20.00 – $39.99"; } else if (p >= 40 && p < 60) { e.Value = "$40.00 - $59.99"; } else if (p >= 60) { e.Value – "$60 and Greater"; } |
In this example, the UnitPrice column is grouped according to a customized range of values.