mcpField
S
syncfusion-winforms-grid-grouping-control

syncfusion-winforms-grid-grouping-control

github.com/syncfusion開発282 回インストール1 週間前に更新
リポジトリ

syncfusion-winforms-grid-grouping-control について

Syncfusion Windows Forms GridGroupingControl を使ったアプリケーション開発向けのガイドです。データバインディング、グループ化、階層表示から、エクスポートや性能調整まで扱います。

主な機能

  1. 01階層グループ化と複数列グループ化
  2. 02並べ替え、フィルター、集計
  3. 03マスター・詳細データ関係
  4. 04編集、選択、スタイル設定
  5. 05データのエクスポートと印刷
  6. 06大規模データ向け仮想化ガイド

活用シーン

  1. 01業務データのグループ表示の構築
  2. 02親子レコードのネスト表示
  3. 03フィルター、集計、独自ソートの追加
  4. 04グリッドデータのエクスポートや印刷

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-grid-grouping-control

インストール後、Claude Code で/syncfusion-winforms-grid-grouping-controlを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
advanced-features.md
appearance-and-formatting.md
cell-types.md
clipboard-operations.md
column-management.md
data-binding.md
editing.md
events.md
exporting.md
filtering.md
getting-started.md
grid-layout.md
grouping.md
navigation-and-scrolling.md
performance.md
printing.md
relations-and-hierarchy.md
selections.md
sorting.md
summaries.md
troubleshooting.md

詳細

Grid Grouping Controls の実装

Syncfusion® Windows Forms GridGroupingControl の実装に関する包括的なガイドです。階層グループ化、フィルタリング、複数列の並べ替え、集計、複雑なデータ関係を標準でサポートする、エンタープライズレベルのグリッドコンポーネントです。

このスキルを使用する場面

次のような場合に、このスキルを使用してください。

  • Windows Forms アプリケーションに GridGroupingControl を実装する
  • 1 つ以上の列による自動グループ化で、階層データやグループ化されたデータを表示する
  • ネストされたテーブルと子リレーションを使って、マスター詳細関係を作成する
  • 高度なフィルタリングを適用する(Excel 形式、動的、またはプログラムによるフィルター)
  • データ集計を追加する(グループ集計、キャプション集計、テーブル集計)
  • カスタムの並べ替えロジックを使用して、単一列または複数列でデータを並べ替える
  • 仮想化とパフォーマンス最適化で、大規模なデータセットを処理する
  • グループ化されたデータを Excel、PDF、CSV、HTML、または Word にエクスポートする
  • 条件付き書式とスタイルで、グリッドの外観をカスタマイズする
  • さまざまなデータソース(DataTable、XML、コレクション、動的オブジェクト)にバインドする

このスキルは、高度なデータグループ化、ドリルダウン機能、包括的なデータ管理機能を必要とするアプリケーションに不可欠です。

コンポーネントの概要

GridGroupingControl は、標準的なグリッド機能を拡張した強力なデータグリッドコンポーネントで、次の機能を備えています。

  • 階層グループ化: フィールドの値に基づいて、データをネストされたグループに整理します
  • グループドロップ領域: 列ヘッダーをドラッグアンドドロップしてグループ化できる対話型の領域です
  • 複数レベルの並べ替え: カスタムの並べ替えロジックを使用して、複数の列で並べ替えます
  • 高度なフィルタリング: Excel 形式のフィルター、動的フィルター、プログラムによるレコードフィルターを使用できます
  • 集計: 集計関数を使った列集計、グループ集計、キャプション集計を行えます
  • マスター詳細サポート: 親子関係を持つネストされたテーブルを表示します
  • データ仮想化: 数百万件のレコードを、瞬時にスクロールしながら処理します
  • 充実した編集機能: 入力検証とカスタムエディターを備えたセル内編集を行えます
  • 柔軟なスタイル設定: 条件付き書式、テーマ、セル単位のカスタマイズを利用できます

このコントロールは、エンタープライズレベルのデータ管理機能を必要とする業務アプリケーション向けに設計されています。

ドキュメントとナビゲーションガイド

はじめに

📄 参照: references/getting-started.md

  • インストールとアセンブリの配置
  • デザイナーとコードからの GridGroupingControl の作成
  • 基本的なデータソースのバインド
  • データの設定と最初のグリッドの例
  • 主要なプロパティと初期設定
データのバインドとソース

📄 参照: references/data-binding.md

  • ADO.NET データバインド(DataTable、DataSet、DataView)
  • ReadXml/WriteXml を使用した XML データバインド
  • カスタムコレクション(IList、IBindingList、ITypedList)
  • 厳密に型指定されたコレクションとジェネリックコレクション
  • .NET 4.0 以降の動的オブジェクトのバインド
  • カスタム列を使った非バインドモード
  • コレクションインターフェイスと変更通知

参照する場面: データソースの設定、データベースへのバインド、カスタムオブジェクトの操作、または非バインドのシナリオの実装時。

グループ化機能

📄 参照: references/grouping.md

  • データグループの追加(デザイナーとプログラムによる方法)
  • GroupDropArea の設定とカスタマイズ
  • 複数列によるグループ化とネストされたグループ
  • IComparer と IGroupByColumnCategorizer を使ったカスタムグループ化
  • GroupBy のオプション(ヘッダー、フッター、プレビュー行)
  • GroupCaptionSection とキャプションテキストトークン
  • グループの操作(展開/折りたたみ、反復処理、アクセス)
  • グループ化イベントとカスタマイズ

参照する場面: グループ化機能の実装、グループの外観のカスタマイズ、ネストされたグループの操作、またはグループ関連イベントの処理時。

並べ替え操作

📄 参照: references/sorting.md

  • SortedColumns コレクションを使用したプログラムによる並べ替え
  • 優先順位を指定した複数列の並べ替え
  • 並べ替えアイコンの配置とカスタマイズ
  • 並べ替え条件の削除とクリア
  • グループ化された列の並べ替え
  • 集計値による並べ替え
  • 表示メンバーによる並べ替え(外部キーの関連)
  • IComparer を使用したカスタム並べ替え
  • 並べ替えイベント(Changing/Changed)

参照するタイミング: 並べ替え機能の実装、並べ替え動作のカスタマイズ、計算値による並べ替え、または並べ替えイベントの処理を行う場合。

フィルタリングと検索

📄 参照: references/filtering.md

  • ユーザーがフィルタリングできるようにフィルターバーを設定
  • レコードフィルター(プログラムによるフィルタリング)
  • 演算子を使用した式によるフィルタリング
  • GridDynamicFilter を使用した動的フィルター
  • Excel のようなフィルター(Optimized と Office2007)
  • 色、数値、日付、null 値によるフィルタリング
  • 表示メンバーと値メンバーによるフィルタリング
  • 積み重ねヘッダーのフィルタリング
  • フィルター済みレコードとフィルター文字列の取得
  • フィルタリングイベント

参照するタイミング: フィルタリング機能、Excel のようなフィルタリング UI、プログラムによるデータのフィルタリング、またはフィルターのカスタマイズを実装する場合。

集計と集約

📄 参照: references/summaries.md

  • 集計タイプ(Column、Group、Table、Caption)
  • SummaryDescriptor を使用した集計の追加
  • 組み込みの集約関数(Sum、Average、Count、Min、Max)
  • ISummaryAggregate を使用したカスタム集計
  • 集計値による並べ替え
  • 集計の外観と書式設定
  • グループキャプション内の集計
  • 集計イベント

参照するタイミング: 集約計算の追加、グループ合計の表示、カスタム集約の実装、またはキャプション内の集計表示を行う場合。

リレーションと階層

📄 参照: references/relations-and-hierarchy.md

  • マスター詳細リレーションシップの設定
  • 入れ子になったテーブルの構成
  • リレーション記述子と子テーブル記述子
  • 階層の表示とナビゲーション
  • 入れ子になったテーブルの展開/折りたたみ
  • 子テーブルのプログラムによる操作
  • 外部キー参照リレーション

参照するタイミング: マスター詳細グリッドの実装、入れ子になったデータの表示、親子関係の構成、または階層データの操作を行う場合。

編集機能

📄 参照: references/editing.md

  • 編集の有効化/無効化
  • セル編集モードと開始方法
  • 現在のセルの動作
  • データ検証
  • 編集イベント(StartEditing、EditingComplete)
  • カスタムエディターとセルタイプ
  • AddNew レコード機能

参照するタイミング: 編集動作の設定、検証の実装、エディターのカスタマイズ、または編集イベントの処理を行う場合。

選択機能

📄 参照: references/selections.md

  • 選択モード(None、One、Multiple、MultiSimple、MultiExtended)
  • レコード選択とセル選択
  • プログラムによる選択
  • 選択したレコードの取得
  • 選択イベント
  • 選択時の外観

参照するタイミング: 選択機能、プログラムによるレコード選択、または選択動作のカスタマイズを実装する場合。

列の管理

📄 参照: references/column-management.md

  • プログラムによる列の追加/削除
  • 列のプロパティ(Width、HeaderText、MappingName)
  • 列幅と自動サイズ調整
  • 列の表示設定と VisibleColumns コレクション
  • 列の並べ替えとドラッグ&ドロップ
  • 固定列
  • 非連結列

参照するタイミング: 列の表示設定の管理、列プロパティの構成、固定列の実装、または非連結列の追加を行う場合。

外観とスタイル

📄 お読みください: references/appearance-and-formatting.md

  • セルのスタイルとGridStyleInfo
  • 条件付き書式
  • テーマとビジュアルスタイル
  • 行と列の外観
  • 動的なスタイル設定のためのQueryCellStyleInfoイベント
  • 各種セルタイプの外観プロパティ
  • BackColor、ForeColor、Fontのカスタマイズ

読むタイミング: グリッドの外観をカスタマイズするとき、条件付き書式を適用するとき、テーマを実装するとき、または特定のセルにスタイルを設定するとき。

セルタイプとカスタマイズ

📄 お読みください: references/cell-types.md

  • 組み込みのセルタイプ(TextBox、ComboBox、CheckBox、Image)
  • DataSourceを使用するComboBoxセル
  • ブール値データ用のCheckBoxセル
  • グラフィック表示用のImageセル
  • カスタムセルタイプとレンダラー
  • セルタイプの設定

読むタイミング: ドロップダウンリスト、チェックボックス、画像セルを実装するとき、またはカスタムセルレンダラーを作成するとき。

グリッドレイアウト

📄 お読みください: references/grid-layout.md

  • 行と列のサイズ設定(自動サイズ調整、フィット)
  • グループ化された列ヘッダー用の段組みヘッダー
  • カバー範囲(結合セル)
  • グリッドの境界線と線
  • レイアウトのカスタマイズと間隔

読むタイミング: 行の高さを設定するとき、段組みヘッダーを実装するとき、セルを結合するとき、またはグリッドレイアウトをカスタマイズするとき。

ナビゲーションとスクロール

📄 お読みください: references/navigation-and-scrolling.md

  • ナビゲーションバーの設定
  • スクロールのオプションと動作
  • キーボードナビゲーション
  • 現在のセルへのナビゲーション
  • ScrollControlIntoViewメソッド

読むタイミング: ナビゲーション動作を設定するとき、キーボードショートカットをカスタマイズするとき、またはプログラムによるナビゲーションを実装するとき。

クリップボード操作

📄 お読みください: references/clipboard-operations.md

  • コピー/貼り付け操作
  • クリップボード形式(Text、CSV、HTML)
  • 切り取り操作
  • クリップボードのカスタマイズ
  • CopyPasteイベント

読むタイミング: コピー/貼り付け機能を実装するとき、クリップボード形式をカスタマイズするとき、またはクリップボードイベントを処理するとき。

データのエクスポート

📄 お読みください: references/exporting.md

  • ExcelExportingOptionsを使用したExcelエクスポート
  • PdfExportingOptionsを使用したPDFエクスポート
  • CSVエクスポート
  • HTMLエクスポート
  • Wordエクスポート
  • エクスポートのオプションとカスタマイズ

読むタイミング: データのエクスポート機能を実装するとき、エクスポート形式をカスタマイズするとき、またはエクスポートのオプションを設定するとき。

印刷

📄 お読みください: references/printing.md

  • 印刷の設定とセットアップ
  • 印刷プレビュー
  • 印刷設定(余白、向き、拡大縮小)
  • カスタム印刷レイアウト
  • PrintDocumentとの統合

読むタイミング: 印刷機能を実装するとき、印刷レイアウトをカスタマイズするとき、または印刷設定を行うとき。

パフォーマンスの最適化

📄 お読みください: references/performance.md

  • 大規模なデータセット向けの仮想化
  • 数百万件のレコードの処理
  • パフォーマンス最適化のヒント
  • データバインディングのベストプラクティス
  • メモリ管理

読むタイミング: グリッドのパフォーマンスを最適化するとき、大規模なデータセットを処理するとき、またはパフォーマンスの問題を調査するとき。

イベントリファレンス

📄 お読みください: references/events.md

  • データ関連イベント(QueryValue、SaveValue)
  • UI操作イベント(CellClick、CellDoubleClick)
  • グループ化イベント(GroupExpanding、GroupExpanded)
  • 並べ替えイベント(SortedColumns.Changing/Changed)
  • フィルターイベント(RecordFilters.Changing/Changed)
  • 編集イベント(CurrentCellStartEditing、EditingComplete)
  • 例を含むイベントの完全なリファレンス

読むタイミング: グリッドイベントを処理するとき、イベント駆動型のロジックを実装するとき、またはユーザー操作に応答するとき。

高度な機能

📄 参照先: references/advanced-features.md

  • 計算列の式フィールド
  • データ検証ルール
  • 検索と置換機能
  • シリアル化(Binary、SOAP、XML)
  • タブレット向けタッチサポート
  • ズーム機能

参照するタイミング: 計算列、検証ルール、検索と置換、シリアル化、またはタッチサポートを実装するとき。

トラブルシューティング

📄 参照先: references/troubleshooting.md

  • よくある問題と解決策
  • パフォーマンスのトラブルシューティング
  • データバインディングの問題
  • UI のレンダリングに関する問題
  • ベストプラクティスとガイドライン

参照するタイミング: 問題をデバッグするとき、エラーを解決するとき、または実装を最適化するとき。

クイックスタートの例

GridGroupingControl を使い始めるための最小限の例を以下に示します。

using Syncfusion.Windows.Forms.Grid.Grouping;
using System.Data;

// Create the control
GridGroupingControl gridGroupingControl1 = new GridGroupingControl();
gridGroupingControl1.Dock = DockStyle.Fill;
this.Controls.Add(gridGroupingControl1);

// Create sample data
DataTable dataTable = new DataTable("Employees");
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Department", typeof(string));
dataTable.Columns.Add("Salary", typeof(decimal));

dataTable.Rows.Add(1, "John Smith", "Sales", 50000);
dataTable.Rows.Add(2, "Sarah Jones", "Marketing", 55000);
dataTable.Rows.Add(3, "Mike Wilson", "Sales", 52000);
dataTable.Rows.Add(4, "Lisa Brown", "Marketing", 58000);
dataTable.Rows.Add(5, "Tom Davis", "IT", 65000);

// Bind data source
gridGroupingControl1.DataSource = dataTable;

// Enable grouping with GroupDropArea
gridGroupingControl1.ShowGroupDropArea = true;

// Add a group by Department
gridGroupingControl1.TableDescriptor.GroupedColumns.Add("Department");

// Add a summary to show total salary per group
GridSummaryColumnDescriptor summaryColumn = new GridSummaryColumnDescriptor();
summaryColumn.DataMember = "Salary";
summaryColumn.SummaryType = SummaryType.DoubleAggregate;
summaryColumn.Format = "{Sum:C}";
summaryColumn.Name = "TotalSalary";

GridSummaryRowDescriptor summaryRow = new GridSummaryRowDescriptor();
summaryRow.SummaryColumns.Add(summaryColumn);
gridGroupingControl1.TableDescriptor.SummaryRows.Add(summaryRow);

// Enable sorting
gridGroupingControl1.TableOptions.AllowSortColumns = true;

これは、部門ごとのグループ化と給与の集計を行うグリッドを作成します。

よくあるパターン

入れ子のテーブルを使ったマスター・詳細パターン
// Assuming Orders and OrderDetails are related tables in a DataSet
DataSet dataSet = GetOrdersDataSet(); // Your data source

// Bind to parent table
gridGroupingControl1.DataSource = dataSet;
gridGroupingControl1.DataMember = "Orders";

// Nested tables are automatically detected from DataSet relations
// Customize child table appearance
GridRelationDescriptor relation = gridGroupingControl1.TableDescriptor.Relations[0];
relation.ChildTableDescriptor.Appearance.AlternateRecordFieldCell.BackColor = Color.LightBlue;
動的フィルタリングパターン
using Syncfusion.GridHelperClasses;

// Wire dynamic filter
GridDynamicFilter dynamicFilter = new GridDynamicFilter();
dynamicFilter.WireGrid(gridGroupingControl1);

// Enable filter bar
gridGroupingControl1.TopLevelGroupOptions.ShowFilterBar = true;

// Enable filtering for specific columns
foreach (GridColumnDescriptor column in gridGroupingControl1.TableDescriptor.Columns)
{
    column.AllowFilter = true;
}
Excel のようなフィルタリングパターン
using Syncfusion.GridHelperClasses;

// Create and wire Excel filter
GridExcelFilter excelFilter = new GridExcelFilter();
excelFilter.AllowSearch = true; // Enable search in filter dropdown
excelFilter.AllowResize = true; // Allow resizing filter popup
excelFilter.EnableNumberFilter = true; // Enable number filters
excelFilter.EnableDateFilter = true; // Enable date filters
excelFilter.AllowFilterByColor = true; // Enable filter by cell color

excelFilter.WireGrid(gridGroupingControl1);
プログラムによるグループ化パターン
// Multi-level grouping
gridGroupingControl1.TableDescriptor.GroupedColumns.Add("Country");
gridGroupingControl1.TableDescriptor.GroupedColumns.Add("City");

// Customize group options
gridGroupingControl1.TopLevelGroupOptions.ShowCaption = true;
gridGroupingControl1.TopLevelGroupOptions.ShowGroupHeader = true;
gridGroupingControl1.TopLevelGroupOptions.ShowGroupFooter = true;

// Customize caption text with tokens
gridGroupingControl1.ChildGroupOptions.CaptionText = 
    "{CategoryName}: {Category} ({RecordCount} items)";
条件付き書式パターン
// Apply conditional formatting based on cell value
gridGroupingControl1.QueryCellStyleInfo += (sender, e) =>
{
    if (e.TableCellIdentity.TableCellType == GridTableCellType.RecordFieldCell)
    {
        if (e.TableCellIdentity.Column.Name == "Salary")
        {
            decimal salary = Convert.ToDecimal(e.Style.CellValue);
            if (salary > 60000)
            {
                e.Style.BackColor = Color.LightGreen;
                e.Style.Font.Bold = true;
            }
            else if (salary < 40000)
            {
                e.Style.BackColor = Color.LightCoral;
            }
        }
    }
};
集計パターン

// Count summary
GridSummaryColumnDescriptor countColumn = new GridSummaryColumnDescriptor(
    "Count", SummaryType.Count, "ID", "{Count}");
summaryRow.SummaryColumns.Add(countColumn);

// Average summary
GridSummaryColumnDescriptor avgColumn = new GridSummaryColumnDescriptor(
    "Average", SummaryType.DoubleAggregate, "Salary", "Avg: {Average:C}");
summaryRow.SummaryColumns.Add(avgColumn);

// Total summary
GridSummaryColumnDescriptor sumColumn = new GridSummaryColumnDescriptor(
    "Total", SummaryType.DoubleAggregate, "Salary", "Total: {Sum:C}");
summaryRow.SummaryColumns.Add(sumColumn);

gridGroupingControl1.TableDescriptor.SummaryRows.Add(summaryRow);

主なプロパティ

コアプロパティ
プロパティ型説明
DataSourceobjectグリッドのデータソースを取得または設定します
DataMemberstringデータソース内のデータメンバーを取得または設定します
ShowGroupDropAreaboolドラッグ&ドロップによるグループ化に使用するグループドロップ領域を表示または非表示にします
TableDescriptorGridTableDescriptorテーブル構成と列へのアクセスを提供します
TableOptionsGridTableOptionsStyleInfoテーブルレベルのオプションを構成します
TopLevelGroupOptionsGridGroupOptionsStyleInfo最上位グループのオプションを構成します
ChildGroupOptionsGridGroupOptionsStyleInfo子グループのオプションを構成します
コレクションプロパティ
プロパティ型説明
TableDescriptor.GroupedColumnsSortColumnDescriptorCollectionデータのグループ化に使用する列
TableDescriptor.SortedColumnsSortColumnDescriptorCollectionデータの並べ替えに使用する列
TableDescriptor.RecordFiltersRecordFilterDescriptorCollectionプログラムによるレコードフィルター
TableDescriptor.SummaryRowsGridSummaryRowDescriptorCollection集計行の定義
TableDescriptor.ColumnsGridColumnDescriptorCollection列記述子
TableDescriptor.RelationsGridRelationDescriptorCollection子テーブルのリレーション

主なイベント

データイベント
  • QueryValue - グリッドが非バインドセルの値を取得する必要があるときに発生します
  • SaveValue - グリッドが非バインドセルの値を保存する必要があるときに発生します
  • SourceListListChanged - バインドされたデータソースが変更されたときに発生します
UI イベント
  • QueryCellStyleInfo - セルの外観を動的にカスタマイズするときに発生します
  • TableControlCellClick - セルがクリックされたときに発生します
  • TableControlCellDoubleClick - セルがダブルクリックされたときに発生します
  • TableControlCurrentCellActivated - セルが現在のセルになったときに発生します
グループ化イベント
  • GroupExpanding / GroupExpanded - グループが展開されるときに発生します
  • GroupCollapsing / GroupCollapsed - グループが折りたたまれるときに発生します
  • GroupedColumns.Changing / Changed - グループ化が変更されたときに発生します
並べ替えイベント
  • SortedColumns.Changing / Changed - 並べ替えが変更されたときに発生します
  • TableControlQueryAllowSortColumn - 列の並べ替えを制御するときに発生します
フィルタリングイベント
  • RecordFilters.Changing / Changed - フィルターが変更されたときに発生します
  • GridExcelFilter.RecordFiltersItemChanging / Changed - Excel フィルターのイベント
編集イベント
  • TableControlCurrentCellStartEditing - セルの編集が開始されたときに発生します
  • TableControlCurrentCellEditingComplete - セルの編集が完了したときに発生します
  • TableControlCurrentCellValidating - セルの値を検証するときに発生します

よくあるユースケース

ビジネスインテリジェンスダッシュボード

複数レベルのグループ化、ドリルダウン機能、集計サマリーを使って、複雑なデータを表示し、ビジネス分析やレポート作成に活用できます。

データ管理アプリケーション

マスターディテールフォーム、インライン編集、検証、高度なフィルタリングを備えた CRUD アプリケーションを構築し、データを管理できます。

階層データの可視化

組織構造、製品カテゴリー、その他の階層データを、ネストされたグループや展開可能なセクションを使って表示できます。

レポートアプリケーション

グループ化、サマリー、条件付き書式設定、複数形式(Excel、PDF、Word)へのエクスポート機能を備えた、充実したレポートを生成できます。

データ分析ツール

動的なグループ化、並べ替え、フィルタリング、サマリー計算を使った、インタラクティブなデータ探索を実装できます。

アーキテクチャに関する注意事項

エンジンアーキテクチャ

GridGroupingControl は、データ管理(Engine)と表示(TableControl)を分離する独自のエンジンベースアーキテクチャを採用しています。これにより、次のことが可能になります。

  • 同じデータに対する複数のビュー
  • 効率的なデータ仮想化
  • 柔軟なグループ化と並べ替え
  • 独立したネストされたテーブルの処理
表示要素

グリッドでは、コンテンツを次の表示要素に整理します。

  • Records - 個々のデータ行
  • Groups - 一致するカテゴリー値を持つレコードの集合
  • CaptionRows - グループのヘッダー行
  • SummaryRows - 集計サマリー行
  • FilterBarCell - フィルター入力セル
テーブル階層
  • GridTable - 最上位のテーブルインスタンス
  • GridNestedTable - マスターディテール関係における子テーブル
  • TopLevelGroup - すべてのレコードを含むルートグループ
  • Groups - ネストされたグループの集合

ベストプラクティス

  1. データバインディング: 変更通知を自動化するには、IBindingList を実装した厳密に型指定されたコレクションを使用します
  2. パフォーマンス: 大規模なデータセットでは仮想化を有効にします(自動的に処理されます)
  3. グループ化: ユーザーエクスペリエンスを高めるため、初期のグループ化レベルは 2~3 に制限します
  4. フィルタリング: ユーザーフレンドリーなフィルタリングを実現するには、GridExcelFilter を使用します
  5. サマリー: 用途に応じて、キャプションまたはフッターにサマリーを適切に配置します
  6. スタイル設定: すべてのセルにスタイルを設定する代わりに、動的なスタイル設定には QueryCellStyleInfo を使用します
  7. イベント: QueryCellStyleInfo のように頻繁に発生するイベント内の処理を最小限に抑えます
  8. メモリ: フォームを閉じるときに、GridGroupingControl を適切に破棄します

関連コンポーネント

  • GridControl - よりシンプルな用途向けの、グループ化機能のない標準グリッド
  • GridDataBoundGrid - 軽量なデータバインドグリッド
  • DataGrid - 標準の .NET DataGrid コントロール

グループ化、サマリー、階層機能が必要な場合は GridGroupingControl を使用します。基本的なデータ表示には、よりシンプルなグリッドを使用します。

ドキュメントへのリンク


次のステップ: 詳細な実装ガイダンスについては、要件に応じて上記の該当するリファレンスファイルを参照してください。初期設定は getting-started.md から始めてください。

コメント