Copyright © GrapeCity inc. All rights reserved.
True DBGrid for WinForms
グループ化された行の展開/折りたたみ
データ表示テクニック > 列のグループ化 > グループ化された行の展開/折りたたみ

グループ化されたすべての行を一度に展開/折りたたむには、ExpandGroupRow メソッドと CollapseGroupRow メソッドを使用します。このトピックでは、ボタンをフォームに追加し、ExpandGroupRow メソッドと CollapseGroupRow メソッドを使用してグループ化されたグリッドを展開/折りたたみます。

次の手順を実行します。

  1. .NET プロジェクトを開始します。
  2. ツールボックスを開き、フォームに SplitContainer を追加します。
  3. SplitContainer1 のスマートタグを選択して[SplitContainer タスク]メニューを開き、[左右分割の方向]を選択します。
  4. SplitContainer 下部パネルの SplitContainer1.Panel2 を選択し、ツールボックスに移動して Button1 コントロールと Button2 コントロールをパネルに追加します。
  5. フォーム上の各ボタンのサイズを変更し、デザイナまたはコードから各ボタンの Text プロパティを設定します。

    デザイナの場合

    [プロパティ]ウィンドウで次のプロパティを設定します。

    • Button1 を選択し、[プロパティ]ウィンドウで Text プロパティを「展開」に設定します。
    • Button2 を選択し、[プロパティ]ウィンドウで Text プロパティを「折りたたみ」に設定します。

    コードの場合

    次のコードを Form_Load イベントに追加します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Me.Button1.Text = "Expand"
    Me.Button2.Text = "Collapse"
    

    C#コードの書き方

    C#
    コードのコピー
    this.button1.Text = "Expand";
    this.button2.Text = "Collapse";
    
  6. SplitContainer の一番上のパネルの SplitContainer1.Panel1 を選択し、ツールボックスに移動して、 C1TrueDBGrid コントロールをパネルに追加します。
  7. C1TrueDBGrid タスクメニューを開いて、[親コンテナにドッキングする]を選択します。
  8. C1TrueDBGrid タスクメニューで[データソースの選択]ボックスのドロップダウン矢印をクリックし、[プロジェクトデータソースの追加]をクリックします。
  9. アダプタのデータソース構成ウィザードで、NWind.mdbへの接続を選択するか、NWind.mdb への新しい接続を作成します。
  10. ウィザードのデータベースオブジェクトの選択ページで Products テーブルのすべてのフィールドを選択するか、[データセット名]ボックスへ「Products」と入力してウィザードを終了します。
    Visual Studio により次のコードが Form_Load イベントに追加されます。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Me.ProductsTableAdapter.Fill(Me.Products._Products)
    

    C# コードの書き方

    C#
    コードのコピー
    this.productsTableAdapter.Fill(this.products._Products);
    
  11. DataView プロパティをデザイナまたはコードから DataViewEnum.GroupBy に設定します。

    デザイナの場合

    [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;
    
  12. 次の Button_Click イベントをコードエディタに追加し、ExpandGroupRow メソッドと CollapseGroupRow メソッドを追加します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.C1TrueDBGrid1.ExpandGroupRow(-1, True)
    End Sub
     
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.C1TrueDBGrid1.CollapseGroupRow(-1)
    End Sub
    

    C# コードの書き方

    C#
    コードのコピー
    private void button1_Click(object sender, EventArgs e)
    {
        this.c1TrueDBGrid1.ExpandGroupRow(-1, true); 
    }
     
    private void button2_Click(object sender, EventArgs e)
    {
        this.c1TrueDBGrid1.CollapseGroupRow(-1); 
    }
    

アプリケーションを実行して確認します。

  1. 列ヘッダを GroupBy 領域にドラッグしてグリッドをグループ化します。
  2. 展開>ボタンを選択し、すべてのグループ化された行とサブグループが展開されていることを確認します。
  3. 縮小>ボタンを選択して、グループ化されたすべての行が折りたたまれていることを確認します。
関連トピック