mcpField
S
syncfusion-winforms-grid-control

syncfusion-winforms-grid-control

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

syncfusion-winforms-grid-control について

Syncfusion Windows Forms GridControl を使う開発者向けのガイドです。柔軟なセル単位のデータ画面を構築するため、仮想読み込み、セルのカスタマイズ、数式、編集、選択、エクスポートを扱います。

主な機能

  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-control

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

同梱ファイル

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

references/
cell-style-architecture.md
cell-types.md
covered-ranges.md
data-population.md
drag-and-drop.md
editing-validation.md
excel-like-features.md
exporting.md
formula-support.md
getting-started.md
scrolling-zooming.md
selection.md

詳細

グリッドコントロールの実装

Syncfusion® Windows Forms GridControl を実装するための完全ガイドです。GridControl は、Excel のような機能、仮想データの読み込み、.NET デスクトップアプリケーション向けの広範なセル単位のカスタマイズを提供する、強力なセル指向グリッドです。

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

次のような場合にこのスキルを使用します。

  • 独自のデータを保持するセル指向グリッドを実装する
  • 大規模なデータセットをオンデマンドで読み込む仮想グリッドを作成する
  • GridStyleInfo とスタイルアーキテクチャを使用してセルを個別にカスタマイズする
  • Excel のような機能(選択枠、数式、コピー/貼り付け)を追加する
  • ループ、PopulateValues、または QueryCellInfo を使用してグリッドデータを設定する
  • セルの種類(TextBox、ComboBox、CheckBox、Button など)を実装する
  • 検証とカスタムハンドラーを使用したセル編集を有効にする
  • セル参照と組み込み関数を使用した数式をサポートする
  • カバーセルを作成する、またはセルを結合する
  • 列と行のドラッグ&ドロップを実装する
  • 選択を処理する(範囲ベースまたは行ベース)
  • グリッドデータを Excel、PDF、Word、CSV、または HTML にエクスポートする
  • 操作性を高めるために行/列を固定する
  • Windows Forms でスプレッドシートのようなインターフェイスを構築する

GridControl の概要

GridControl は独自のデータを保持するセル指向グリッドで、外部データソースへのバインドは必要ありません。最大限の柔軟性とパフォーマンスを実現するよう設計されており、事実上、無制限の行と列をサポートします。

主な機能:

  • 個々のセルに至るまでのセル単位のカスタマイズ
  • 数百万行を効率的に処理する仮想モード
  • 拡張性を備えた 15 種類以上の組み込みセルタイプ
  • セル参照を使用した Excel のような数式
  • カバーセルとセル結合機能
  • 複数の選択モード(範囲ベースと行ベース)
  • 検証機能を備えた豊富な編集機能
  • ドラッグ&ドロップのサポート
  • 複数の形式へのエクスポート
  • 行と列の固定
  • クリップボード操作(コピー/貼り付け)
  • タッチ操作のサポート

主な用途:

  • 表形式では表現できないカスタムデータレイアウト
  • スプレッドシートのようなアプリケーション
  • データをオンデマンドで読み込む仮想グリッド
  • セル単位の制御が必要なアプリケーション
  • 数式のサポートが必要なグリッド
  • 複雑なセルタイプとカスタムレンダラー

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

はじめに

📄 参照: references/getting-started.md

  • インストールとアセンブリの配置
  • デザイナーを使用した GridControl の追加
  • コードを使用した GridControl の追加
  • 初期設定とセットアップ
  • 必要なアセンブリと名前空間
  • 基本的なグリッドの作成
データの設定

📄 参照: references/data-population.md

  • RowCount と ColCount の設定
  • セルをループしてデータを設定する方法
  • PopulateValues メソッドの使用
  • QueryCellInfo イベントを使用した仮想グリッド
  • データバインディングのパターン
  • パフォーマンスに関する考慮事項
セルスタイルアーキテクチャ

📄 参照: references/cell-style-architecture.md

  • GridStyleInfo オブジェクトモデル
  • デザイナーを使用したスタイルの変更
  • コードを使用したスタイルの変更
  • ChangeCells メソッドの使用
  • 範囲操作用の GridRangeInfo
  • 外観のカスタマイズ
  • スタイルの継承と基本スタイル
セルタイプ

📄 参照: references/cell-types.md

  • 15 種類以上のセルタイプの概要
  • TextBox と静的テキスト
  • ComboBox とドロップダウンリスト
  • CheckBox とラジオボタン
  • DateTimePicker とカレンダー
  • NumericUpDown と通貨
  • Button セルとリンクセル
  • 画像セル
  • プログレスバーセル
  • カスタムセルタイプ
  • セルタイプの設定
編集と検証

📄 参照: references/editing-validation.md

  • ReadOnly プロパティ(グリッドとセルのレベル)
  • CurrentCellStartEditing イベント
  • CurrentCellEditingComplete イベント
  • 検証ルールとハンドラー
  • カスタム編集動作
  • 条件に応じた編集の禁止
  • 編集モードの設定
選択

📄 読む: references/selection.md

  • AllowSelection による範囲選択
  • ListBoxSelectionMode による行選択
  • GridSelectionFlags 列挙型
  • 単一選択と複数選択
  • SelectionChanging イベント
  • SelectionChanged イベント
  • プログラムによる選択
  • 選択範囲の取得
Excel のような機能

📄 読む: references/excel-like-features.md

  • Excel のような選択枠
  • 2016 と 2003 の選択スタイル
  • Excel のような現在のセルの強調表示
  • キーボード操作(矢印キー、Tab、Enter)
  • コピーと貼り付けのサポート
  • クリップボード操作
  • Excel のような動作
  • 選択枠のカスタマイズ
数式のサポート

📄 読む: references/formula-support.md

  • 数式エンジンの有効化
  • 数式の構文とセル参照
  • 組み込み関数(SUM、AVERAGE、IF など)
  • セルでの数式の作成
  • 数式の計算と依存関係
  • エラー処理
  • カスタム関数
  • 数式イベント
カバー範囲

📄 読む: references/covered-ranges.md

  • 複数のセルのカバー
  • CoveredRanges コレクション
  • カバー範囲の追加と削除
  • カバーされたセルと結合されたセル
  • カバーされたセルの外観
  • カバー範囲内のセル値
  • カバーされたセルのスタイル設定
ドラッグ&ドロップ

📄 読む: references/drag-and-drop.md

  • 列のドラッグ&ドロップの有効化
  • 行のドラッグ&ドロップのサポート
  • ドラッグ操作のタッチサポート
  • ドラッグイベントとカスタマイズ
  • ドラッグ操作の制限
  • ドラッグ中の視覚的なフィードバック
スクロールとズーム

📄 読む: references/scrolling-zooming.md

  • スクロールバーの設定
  • 行と列の固定
  • ズーム機能
  • スクロールイベント
  • スムーズスクロール
  • スクロールのパフォーマンス最適化
  • 仮想スクロール
エクスポート

📄 読む: references/exporting.md

  • Excel へのエクスポート(XLS、XLSX)
  • PDF へのエクスポート
  • Word ドキュメントへのエクスポート
  • CSV 形式へのエクスポート
  • HTML へのエクスポート
  • エクスポートのオプションとカスタマイズ
  • エクスポート内容のスタイル設定
  • 範囲に基づくエクスポート

クイックスタートの例

基本的な GridControl の設定
using Syncfusion.Windows.Forms.Grid;
using System.Drawing;
using System.Windows.Forms;

public partial class Form1 : Form
{
    private GridControl gridControl1;
    
    public Form1()
    {
        InitializeComponent();
        InitializeGrid();
    }
    
    private void InitializeGrid()
    {
        // Create and configure GridControl
        gridControl1 = new GridControl();
        gridControl1.Size = new Size(800, 600);
        gridControl1.Dock = DockStyle.Fill;
        
        // Set dimensions
        gridControl1.RowCount = 50;
        gridControl1.ColCount = 10;
        
        // Populate with data
        for (int row = 1; row <= gridControl1.RowCount; row++)
        {
            for (int col = 1; col <= gridControl1.ColCount; col++)
            {
                gridControl1[row, col].CellValue = $"R{row}C{col}";
            }
        }
        
        // Style header row
        GridStyleInfo headerStyle = new GridStyleInfo();
        headerStyle.BackColor = Color.DarkBlue;
        headerStyle.TextColor = Color.White;
        headerStyle.Font.Bold = true;
        gridControl1.ChangeCells(GridRangeInfo.Row(1), headerStyle);
        
        // Enable Excel-like features
        gridControl1.ExcelLikeSelectionFrame = true;
        gridControl1.ExcelLikeCurrentCell = true;
        gridControl1.AllowSelection = GridSelectionFlags.Any;
        
        // Add to form
        this.Controls.Add(gridControl1);
    }
}

よく使われるパターン

パターン 1:仮想グリッド
gridControl1.Model.RowCount = 1000000;
gridControl1.QueryCellInfo += (sender, e) =>
{
    e.Style.CellValue = GetData(e.RowIndex, e.ColIndex);
};

📄 詳細: references/data-population.md

パターン 2:セルのスタイル設定
GridStyleInfo style = new GridStyleInfo { BackColor = Color.LightGreen };
gridControl1.ChangeCells(GridRangeInfo.Cells(5, 2, 8, 5), style);

📄 詳細: references/cell-style-architecture.md

パターン 3:数式
gridControl1.Model.EnableFormulas = true;
gridControl1[5, 1].CellValue = "=SUM(A1:A4)";

📄 詳細: references/formula-support.md

パターン 4:セルの種類
gridControl1[3, 2].CellType = GridCellTypeName.ComboBox;
gridControl1[3, 2].ChoiceList = new string[] { "Option 1", "Option 2" };

📄 詳細: references/cell-types.md

パターン 5:選択
gridControl1.AllowSelection = GridSelectionFlags.Any;
gridControl1.SelectionChanged += (s, e) => { /* Handle selection */ };

📄 詳細: references/selection.md

主要なプロパティ

必須プロパティ
プロパティ型説明
RowCountintグリッドの行数
ColCountintグリッドの列数
Model[row, col]GridStyleInfoセルのスタイルとプロパティにアクセスします
AllowSelectionGridSelectionFlags範囲選択を有効化/設定します
ListBoxSelectionModeSelectionMode行選択を有効化/設定します
ReadOnlyboolグリッド全体の編集を有効化/無効化します
ExcelLikeSelectionFrameboolExcel のような選択枠を表示します
ExcelLikeCurrentCellboolExcel のように現在のセルを強調表示します
CoveredRangesGridRangeInfoListカバーされたセル範囲のコレクション
GridStyleInfo のプロパティ
プロパティ型説明
CellValueobjectセルに表示される値
CellTypestringセルの種類(TextBox、ComboBox など)
BackColorColor背景色
TextColorColorテキストの色
FontGridFontInfoフォント設定
ReadOnlyboolセルの編集を有効または無効にします
Formatstring表示形式の文字列
HorizontalAlignmentGridHorizontalAlignmentテキストの水平方向の配置
VerticalAlignmentGridVerticalAlignmentテキストの垂直方向の配置

一般的なユースケース

  • スプレッドシートアプリケーション - 数式や書式設定に対応した Excel のようなインターフェース
  • データ入力フォーム - さまざまなセルの種類に対応したカスタムフォーム
  • レポートビューアー - セル結合やエクスポートに対応した書式設定済みレポート
  • 仮想データグリッド - 必要に応じた読み込みにより、数百万行に対応
  • ダッシュボードグリッド - 視覚的なインジケーターを備えたカスタムレイアウト
  • 設定エディター - 専用のセルの種類を備えたプロパティグリッド

トラブルシューティング

パフォーマンスの問題: 仮想モード(QueryCellInfo)を使用し、一括操作には BeginUpdate/EndUpdate を使用してください
選択が機能しない場合: AllowSelection プロパティを確認し、グリッドにフォーカスがあることを確認してください
数式が計算されない場合: Model.EnableFormulas = true であることを確認し、構文を検証してください
セルの値が表示されない場合: CellValue が設定されていることを確認し、対象セルを覆うセルの有無を確認して、行番号と列番号(1 始まり)を検証してください

詳細なトラブルシューティングについては、Navigation Guide の該当するリファレンスファイルを参照してください。

コメント