作成日: 2024/06/11 最終更新日: 2024/06/11
文書種別
使用方法
詳細
C1FlexGridRowDetailクラスと2つのデータテーブル("Parent"、"Child")を使って、マスター/詳細形式の階層ビューを設定し、”+”記号をクリックする代わりにコードを用いて詳細グリッドを展開したり折りたたんだりする方法を紹介します。
主なステップは次の通りです。
1. マスター/詳細用の各データテーブルを作成し、データセットに追加します。
2. 2つのデータ間の関連(マッピング)を定義します。
3. C1FlexGridのDataSourceプロパティにデータセットを設定します。
4. C1FlexGridのRowDetailProviderプロパティに、C1FlexGridRowDetailクラスのインスタンスを割り当てます。
5. カレント行を展開するには、RowWithDetailsクラスのCollapsedプロパティをFalseに設定します。
6. カレント行を折りたたむには、RowWithDetailsクラスのCollapsedプロパティをTrueに設定します。
※プロジェクトにC1.Win.C1FlexGrid.RowDetails.xxx.dllへの参照を追加しておく必要があります。

以下に、ステップ5、6に記載した設定を行うためのコードを記載します。
※ステップ1~4までのコードは、以下のナレッジを参照してください。
[FlexGrid for WinForms] C1FlexGridRowDetail(行詳細)を用いて、マスター/詳細形式の階層ビューを設定する方法
◎サンプルコード(VB)
主なステップは次の通りです。
1. マスター/詳細用の各データテーブルを作成し、データセットに追加します。
2. 2つのデータ間の関連(マッピング)を定義します。
3. C1FlexGridのDataSourceプロパティにデータセットを設定します。
4. C1FlexGridのRowDetailProviderプロパティに、C1FlexGridRowDetailクラスのインスタンスを割り当てます。
5. カレント行を展開するには、RowWithDetailsクラスのCollapsedプロパティをFalseに設定します。
6. カレント行を折りたたむには、RowWithDetailsクラスのCollapsedプロパティをTrueに設定します。
※プロジェクトにC1.Win.C1FlexGrid.RowDetails.xxx.dllへの参照を追加しておく必要があります。
以下に、ステップ5、6に記載した設定を行うためのコードを記載します。
※ステップ1~4までのコードは、以下のナレッジを参照してください。
[FlexGrid for WinForms] C1FlexGridRowDetail(行詳細)を用いて、マスター/詳細形式の階層ビューを設定する方法
◎サンプルコード(VB)
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
' カレント行の展開
Dim row = C1FlexGrid1.Row
TryCast(C1FlexGrid1.Rows(row), RowWithDetails).Collapsed = False
End Sub
Private Sub button2_Click(sender As Object, e As EventArgs) Handles button2.Click
' カレント行の折りたたみ
Dim row = C1FlexGrid1.Row
TryCast(C1FlexGrid1.Rows(row), RowWithDetails).Collapsed = True
End Sub
◎サンプルコード(C#)
private void button1_Click(object sender, EventArgs e)
{
// カレント行の展開
var row = c1FlexGrid1.Row;
(c1FlexGrid1.Rows[row] as RowWithDetails).Collapsed = false;
}
private void button2_Click(object sender, EventArgs e)
{
// カレント行の折りたたみ
var row = c1FlexGrid1.Row;
(c1FlexGrid1.Rows[row] as RowWithDetails).Collapsed = true;
}