このトピックでは、C1TrueDBGrid の GroupIntervalEnum.Custom メンバを使用する方法を説明します。
以下の手順を実行します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Me.ProductsTableAdapter.Fill(Me.Products._Products) |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
this.productsTableAdapter.Fill(this.Products._Products); |
|
C1TrueDBGrid タスクメニューで、[データレイアウト]のドロップダウンから GroupBy を選択します。

次のコードを Form_Load イベントに追加します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Me.C1TrueDBGrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
this.c1TrueDBGrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy; |
|
この列はツールバーのドロップダウンリストから UnitPrice をクリックしても選択できます。
C1TrueDBGrid デザイナの左ペインで、Interval プロパティを指定して custom に設定します。

次のコードを Form_Load イベントに追加します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
' グリッドの GroupInfo.Interval を Custom に設定します。
Me.C1TrueDBGrid1.Columns("UnitPrice").GroupInfo.Interval = C1.Win.C1TrueDBGrid.GroupIntervalEnum.Custom
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// グリッドの GroupInfo.Interval を Custom に設定します。 this.c1TrueDBGrid1.Columns["UnitPrice"].GroupInfo.Interval = C1.Win.C1TrueDBGrid.GroupIntervalEnum.Custom; |
|
[C1TrueDBGrid デザイナ]の左ペインで、NumberFormat プロパティを指定して Currency に設定します。

次のコードを Form_Load イベントに追加します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
' UnitPrice 列を通貨表示に設定します。
Me.C1TrueDBGrid1.Columns("UnitPrice").NumberFormat = "Currency"
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// UnitPrice 列を通貨表示に設定します。 this.c1TrueDBGrid1.Columns["UnitPrice"].NumberFormat = "Currency"; |
|
[C1TrueDBGrid デザイナ]の左ペインで、ColumnVisible プロパティを指定して True に設定します。

次のコードを Form_Load イベントに追加します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
' グループ化中の UnitPrice 列を表示状態にします。
Me.C1TrueDBGrid1.Columns("UnitPrice").GroupInfo.ColumnVisible = True
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// グループ化中の UnitPrice 列を表示状態にします。 this.c1TrueDBGrid1.Columns["UnitPrice"].GroupInfo.ColumnVisible = true; |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
' 現在のグリッドセルから値を少数として取得します。
Dim p As Decimal = CType(Me.C1TrueDBGrid1(e.Row, e.Col.DataColumn.DataField), Decimal)
' カスタムグループ値を割り当てます.
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
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
// 現在のグリッドセルから値を少数として取得します。
decimal p = ((decimal)this.c1TrueDBGrid1(e.Row,e.Col.DataColumn.DataField));
// カスタムグループ値を割り当てます.
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";
}
|
|
この例では、UnitPrice 列がカスタム設定でソートされます。