syncfusion-maui-datagrid について
Syncfusion の SfDataGrid で表形式データを表示・操作する .NET MAUI 開発者向けスキルです。編集、並べ替え、フィルタリング、ページング、エクスポート、大規模データの扱いを解説します。
主な機能
- 01データソースのバインドと列設定
- 02セル編集と検証
- 03並べ替え・絞り込み・検索・グループ化
- 04ページング・仮想化・追加読み込み
- 05Excel と PDF へのエクスポート
活用シーン
- 01.NET MAUI アプリでのデータグリッド構築
- 02表データの編集と検証
- 03レコードの絞り込み・グループ化・集計
- 04グリッドデータの Excel または PDF 出力
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ maui-ui-components-skills --skill syncfusion-maui-datagridインストール後、Claude Code で/syncfusion-maui-datagridを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-features.mdcolumn-operations.mdcolumns.mddata-validation.mdediting.mdexporting.mdgetting-started.mdgrouping-summaries.mdlocalization.mdmulti-row-view.mdpaging-virtualization.mdperformance-events.mdrow-operations.mdsearching.mdselection.mdsorting-filtering.mdstyling-customization.md詳細
.NET MAUI DataGrid の実装
Syncfusion .NET MAUI DataGrid(SfDataGrid)コントロールを実装、カスタマイズするための包括的なスキルです。DataGrid は、列、編集、並べ替え、フィルタリング、グループ化、集計、ページング、エクスポート機能を備えた表形式でデータを表示、操作します。
このスキルを使用する場面
次のような場合に、このスキルを使用してください。
- .NET MAUI アプリケーションで表形式のデータを表示する
- データソース(IEnumerable、ObservableCollection、DataTable)をグリッドにバインドする
- 列を構成する(自動生成または手動)
- セルの編集と検証を実装する
- 並べ替え、フィルタリング、検索機能を追加する
- データをグループ化し、集計値を表示する
- ページングまたはインクリメンタル読み込みを実装する
- 行操作(ドラッグ&ドロップ、スワイプ、追加/削除)を有効にする
- グリッドデータを Excel または PDF にエクスポートする
- グリッドの外観と動作をカスタマイズする
- 大規模なデータセットのパフォーマンスを最適化する
- マスター詳細ビューまたはカスタム行テンプレートを実装する
コンポーネントの概要
SfDataGrid は、高性能な .NET MAUI 用データグリッドコントロールで、次の機能を提供します。
主な機能:
- 複数のデータバインディング方式(IEnumerable、DataTable、動的オブジェクト)
- 自動生成または手動定義の列
- 8 種類以上の列タイプ(Text、Numeric、Date、Checkbox、Image、ComboBox、Picker、Template)
- 検証機能を備えたセル内編集
- 複数列の並べ替えとフィルタリング
- 集計機能を備えた対話型のグループ化
- 選択モード(Single、Multiple、None)
- ページングとデータ仮想化
- Excel および PDF へのエクスポート
- 高度なビュー(マスター詳細、レコードテンプレート)
NuGet パッケージ: Syncfusion.Maui.DataGrid
ドキュメントとナビゲーションガイド
はじめにとデータバインディング
📄 参照: references/getting-started.md
- インストールと NuGet パッケージのセットアップ
- MauiProgram.cs でのハンドラー登録
- DataGrid の基本的な実装(XAML と C#)
- データモデルと ViewModel の作成
- IEnumerable および ObservableCollection を使用したバインディング
- DataTable と動的オブジェクトを使用したバインディング
- 初期設定と最初の手順
列と列の設定
📄 参照: references/columns.md
- 列の自動生成(AutoGenerateColumnsMode)
- 列の手動定義
- 列の種類(Text、Numeric、Date、Checkbox、Image、ComboBox、Picker、Template、TimePicker、Percent、Currency、CheckBoxSelector)
- 列のプロパティ(MappingName、HeaderText、Format、Width)
- 数値列の小数桁数と最大桁数(NumberDecimalDigits)
- 列のサイズと幅のオプション
- 列の表示設定と並べ替え
- AutoGenerateColumnsMode のオプション(None、Reset、ResetAll、RetainOld)
列の操作
📄 参照: references/column-operations.md
- 列のサイズ変更(手動および自動調整、OnMoved モードと OnTouchUp モード)
- 列のドラッグ&ドロップ(並べ替え)
- 複数段のヘッダー(複数レベルの列ヘッダー)
- 非バインド列(計算列/式列)
- 固定領域(列の固定)
- 列のホバー時のハイライト(AllowColumnHoverHighlighting)
- ヘッダーセルのホバー(AllowHeaderCellHoverHighlighting)
- 列のカスタマイズとイベント
セルの編集
📄 参照: references/editing.md
- 編集の有効化(AllowEditing、NavigationMode、SelectionMode)
- 列単位の編集制御
- 編集モードと開始条件(EditTapAction、LostFocusBehavior)
- エディターの選択動作(SelectAll、MoveLast)
- セル編集イベント(BeginEdit、EndEdit、CellValueChanged)
- プログラムによる編集
- 編集中の Enter キーと Tab キーによる移動
- 元に戻す/やり直し機能(AllowUndoRedo、MaxUndoRedoActions、UndoRedoController)
データ検証
📄 参照: references/data-validation.md
- セル値の検証
- 行単位の検証
- カスタム検証ロジック
- 検証イベント
- エラー処理と表示
- IDataErrorInfo のサポート
並べ替えとフィルタリング
📄 参照: references/sorting-filtering.md
- 単一列および複数列での並べ替え
- カスタム並べ替えロジック
- プログラムによる並べ替え
- 並べ替えアイコンと UI のカスタマイズ
- フィルタリングの基本とフィルターの種類
- FilterPopupStyle と FilteringPopupDisplayStyle(全画面またはポップアップ)
- フィルター行の実装
- プログラムによるフィルタリング
- カスタムフィルタープレディケート
検索
📄 参照: references/searching.md
- 検索機能のセットアップ
- テキスト検索とハイライト表示
- 大文字と小文字の区別のオプション
- 検索ナビゲーション(次へ/前へ)
- プログラムによる検索制御
- 組み込みの検索 UI
グループ化と集計
📄 参照: references/grouping-summaries.md
- データのグループ化(単一列および複数列)
- グループの展開/折りたたみ動作
- カスタムグループ化ロジック
- グループヘッダーのカスタマイズ
- グループ行の高さのカスタマイズ
- 集計行(テーブル、グループ、キャプションの集計)
- 組み込みの集計関数(Sum、Average、Count、Min、Max)
- カスタム集計計算
- 集計表示の書式設定
選択とナビゲーション
📄 参照: references/selection.md
- 選択モード(Single、Multiple、SingleDeselect、None)
- 行とセルの選択
- 選択イベント(SelectionChanging、SelectionChanged)
- プログラムによる選択
- プログラムによるナビゲーション(MoveToNextCell、MoveToPreviousCell、MoveToNextRow、MoveToPreviousRow)
- 現在のセルと選択項目の違い
- キーボードナビゲーション(Windows プラットフォーム)
ページングとデータ仮想化
📄 参照: references/paging-virtualization.md
- スタンドアロンの
SfDataPagerとのページング統合(別個のSyncfusion.Maui.DataPagerパッケージ) - DataGrid + DataPager のバインディングパターン(
Source→PagedSource→ItemsSource) - ページサイズ、ページ数、プログラムによるページナビゲーション
UseOnDemandPagingとOnDemandLoadingによるオンデマンドページング- さらに読み込む(インクリメンタル読み込み)
- 引っ張って更新
- パフォーマンス向上のためのデータ仮想化
- 大規模データセットの処理
- 行と列へのスクロール
- スクロール方向(ScrollOrientation:Both、Vertical、Horizontal、Neither)
- 行と列の縮小ラップ(ShrinkWrapRows、ShrinkWrapColumns)
注:
SfDataPagerコントロールは、専用のスキル(syncfusion-maui-datapager)を備えた別個の NuGet パッケージ(Syncfusion.Maui.DataPager)として提供されます。ボタンの形状、サイズ、表示モード、省略記号、方向、DataPagerStyle、PageChanging/PageChangedイベントなど、ページャーの詳細な設定については、syncfusion-maui-datapagerスキルを参照してください。この DataGrid スキルでは、DataGrid と DataPager の統合、および DataGrid 固有のデータ読み込み機能(さらに読み込む、引っ張って更新、仮想化、スクロール)を扱います。
行操作
📄 参照: references/row-operations.md
- 行の高さのカスタマイズ
- 行の高さの自動調整(QueryRowHeight イベント)
- 行のドラッグ&ドロップ(単一行および複数行)
- 行のドラッグアニメーション(AllowDraggingRowAnimation)
- 行のサイズ変更(OnMoved モードと OnTouchUp モード、AllowResizingRows)
- 行のスワイプ操作
- プログラムによる新しい行の追加
- 行の削除
- バインドされていない行(上部/下部に追加される集計行)
- 行レベルのイベント
エクスポートとクリップボード
📄 参照: references/exporting.md
- Excel へのエクスポート機能
- Excel エクスポートのカスタマイズ(列、行、スタイル)
- Excel エクスポートのオプションとイベント
- PDF へのエクスポート機能
- PDF エクスポートのカスタマイズ
- クリップボード操作(コピー/貼り付け)
- カスタムクリップボード形式
高度な機能とビュー
📄 参照: references/advanced-features.md
- マスターディテールビュー(階層データ/リレーショナルデータ)
- レコードテンプレートビュー(カスタム行レイアウト)
- 空のビューのカスタマイズ
- コンテキストメニューの実装(セパレーター対応)
- コンテキストメニューの動的な読み込み(ContextMenuOpening イベント)
- セルのツールチップ(遅延時間のカスタマイズ、TooltipDelay)
- セルの結合
- シリアル化(グリッド状態の保存/読み込み)
- データに応じた条件付きスタイル設定
複数行の列レイアウト
📄 参照: references/multi-row-view.md
- 1つのレコードを複数行にわたって表示(MultiRowViewDefinition)
- RowsCount と ColumnsCount によるレイアウト設定
- 列の配置(Row、Column、RowSpan、ColumnSpan)
- フィールド数の多いレコード向けのカード形式のレイアウト
- 複数行ビューの制限事項
スタイル設定とカスタマイズ
📄 参照: references/styling-customization.md
- グリッドのスタイル設定の基本
- セルのスタイル設定(CellStyle)
- 条件付きセルスタイル設定
- 行のスタイル設定と交互の行色
- ヘッダーのスタイル設定
- テーマのカスタマイズ
- カスタムセルテンプレート
- リキッドグラス効果
パフォーマンスとイベント
📄 参照: references/performance-events.md
- パフォーマンス最適化の手法
- 大規模なデータセットを扱う際のベストプラクティス
- メモリ管理の戦略
- グリッドイベントの概要
- 一般的なイベントの使用例
- イベント処理のパターン
- パフォーマンスの監視
ローカライズ
📄 参照: references/localization.md
- ローカライズの設定
- 多言語対応
- RTL(右から左)対応
- スクロールモードと最適化