mcpField
S
syncfusion-winforms-pivot-grid

syncfusion-winforms-pivot-grid

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

syncfusion-winforms-pivot-grid について

Syncfusion Windows Forms Pivot Gridは、Windows Formsアプリ向けのデータ分析コントロールです。複数のデータソースを使った対話型のピボット配置、計算、フィルタリング、エクスポートに対応します。

主な機能

  1. 01ドラッグ&ドロップによるフィールド配置
  2. 02階層データのドリルダウンとドリルアップ
  3. 03標準集計とカスタム計算
  4. 04フィルタリング、並べ替え、条件付き書式
  5. 05Excel、PDF、Wordへのエクスポート

活用シーン

  1. 01製品、地域、期間別の売上分析
  2. 02予算と実績の財務比較
  3. 03場所やカテゴリ別の在庫確認
  4. 04ドリルダウン対応のKPIレポート作成

インストール

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

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

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

同梱ファイル

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

references/
advanced-features.md
calculations-editing.md
cell-selection-formatting.md
data-binding.md
data-exploration.md
exporting-printing.md
filtering-sorting.md
getting-started.md
grouping-layouts.md
pivot-schema-designer.md
rows-columns-summaries.md

詳細

Syncfusion Windows Forms Pivot Grid

Syncfusion Windows Forms Pivot Grid コントロールは、インタラクティブなデータ分析とクロス集計レポートを可能にする、強力な Excel のようなピボットテーブルコンポーネントです。ドラッグ&ドロップによるフィールドの整理、ドリルダウンナビゲーション、高度な計算機能により、大規模なデータセットを意味のある要約に変換します。

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

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

  • Windows Forms アプリケーションにピボットテーブル機能を実装する
  • データの集計機能を備えたビジネスインテリジェンスダッシュボードを構築する
  • 階層的なグループ化と計算機能を備えた分析レポートを作成する
  • ドリルダウン/ドリルアップナビゲーションによるインタラクティブなデータ探索を提供する
  • リレーショナルデータソースまたは OLAP データソースのクロス集計データを表示する
  • ユーザーがデータフィールドを動的に再編成できるようにする
  • ピボット分析を Excel、PDF、Word 形式にエクスポートする
  • セルの値に基づいて条件付き書式を適用する
  • カスタム集計と計算フィールドを実装する
  • 財務レポート、売上ダッシュボード、KPI 追跡インターフェイスを構築する

コンポーネントの概要

主な機能:

  • Excel のようなピボットテーブル - ピボット操作と分析に使い慣れたインターフェイス
  • インタラクティブなスキーマデザイナー - ドラッグ&ドロップでフィールドを管理できる、組み込みのピボットテーブルフィールドリスト
  • 複数のデータソース - IList、IEnumerable、DataTable、DataView、OLAP をサポート
  • ドリルダウンナビゲーション - 階層データをインタラクティブに展開/折りたたみ
  • 高度な計算 - 合計、平均、件数、最小値、最大値、カスタム式、累計
  • フィルタリングと並べ替え - ラベルフィルター、値フィルター、複数レベルの並べ替え
  • グループ化バー - ドラッグ&ドロップによる視覚的なフィールド整理
  • 条件付き書式 - ルールと条件に基づくセルのスタイル設定
  • エクスポート機能 - 書式を保持したまま Excel、PDF、Word にエクスポート
  • セル選択 - 単一選択、複数選択、範囲選択モード
  • 編集のサポート - セルの値を変更し、集計を更新
  • タッチ操作のサポート - タブレットデバイスに適したタッチ操作

名前空間: Syncfusion.Windows.Forms.PivotAnalysis

アセンブリの依存関係:

  • Syncfusion.Grid.Windows.dll
  • Syncfusion.PivotAnalysis.Base.dll
  • Syncfusion.PivotAnalysis.Windows.dll
  • Syncfusion.Shared.Base.dll

NuGet に関するガイダンス:

  • 入手可能な最新バージョンの Syncfusion.PivotTable.WinForms をインストールします
Install-Package Syncfusion.PivotTable.WinForms -Version *
  • 可能な場合は、手動で DLL を参照する代わりに NuGet パッケージ参照を使用します
  • アップグレードする前に、パッケージがプロジェクトのターゲットフレームワークと互換性があることを確認します

重要な UI セットアップに関する注意:

  • Windows Forms フォーム内で使用する場合は、必ず new PivotGridControl(this.components); でコントロールを作成してください。
  • 必ず最初に Location と Size を設定し、ShowPivotTableFieldList を有効にする前に、コントロールのサイズが 300 x 300 より大きいことを確認してください。
  • コントロールのサイズを適切に設定してから、ShowPivotTableFieldList = true を設定してください。
  • これにより、小さなコントロール上でフィールドリストの UI が使用できないレイアウトで表示されるのを防げます。

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

はじめに

📄 参照: references/getting-started.md

  • アセンブリの配置と必要な依存関係
  • Visual Studio デザイナーから Pivot Grid を追加する
  • コードビハインドから Pivot Grid を追加する
  • ライセンスキーの登録
  • コントロールの基本的な初期化
  • 初期設定とセットアップ
データ管理

📄 参照: references/data-binding.md

  • IEnumerable コレクション(List、ObservableCollection)へのバインド
  • DataTable と DataView へのバインド
  • OLAP データソースへのバインド
  • 動的なデータ更新とリフレッシュ
  • データソースの要件とベストプラクティス
  • 大規模なデータセットのパフォーマンス最適化
ピボットスキーマデザイナー

📄 参照: references/pivot-schema-designer.md

  • ピボットテーブルフィールドリストを有効にする
  • ドラッグ&ドロップによるフィールドの整理
  • フィールドの設定とカスタマイズ
  • スキーマデザイナーの表示/非表示
  • プログラムによるフィールド操作
  • カスタムフィールドテンプレート
行、列、集計

📄 読む: references/rows-columns-summaries.md

  • ピボット行の設定(PivotRows コレクション)
  • ピボット列の設定(PivotColumns コレクション)
  • 集計の種類(Sum、Average、Count、Min、Max など)
  • カスタム集計関数
  • 計算情報と書式設定
  • 階層構造とネスト
  • 合計ヘッダーと小計
フィルタリングと並べ替え

📄 読む: references/filtering-sorting.md

  • フィルターの種類(ラベルフィルター、値フィルター)
  • UI を使ったインタラクティブなフィルタリング
  • プログラムによるフィルター設定
  • フィルター条件と述語
  • 並べ替えモード(昇順、降順、カスタム)
  • 複数レベルの並べ替え方法
  • フィルターのクリアとリセット
グループ化とレイアウト

📄 読む: references/grouping-layouts.md

  • グループ化バーの機能と表示設定
  • レイアウトの種類(標準、上部に集計、集計なしなど)
  • 詳細表示と上位表示のナビゲーション
  • 展開/折りたたみの動作とイベント
  • カスタムレイアウト設定
  • グループ化されたデータのパフォーマンス最適化
計算と編集

📄 読む: references/calculations-editing.md

  • ピボット計算(差分、割合、累計など)
  • 式フィールドとカスタム数式の作成
  • セル値のインタラクティブな編集
  • 集計値のプログラムによる更新
  • 検証ルールと制約
  • 計算フィールドとカスタム集計
セルの選択と書式設定

📄 読む: references/cell-selection-formatting.md

  • セルの選択モード(単一、範囲、複数)
  • 選択イベントと処理
  • 条件付き書式のルールと条件
  • セル値に基づく書式条件
  • セル、行、列のスタイル設定
  • カスタムセルの外観とテンプレート
データの探索

📄 読む: references/data-exploration.md

  • ナビゲーション用のハイパーリンクセル
  • 詳細を表示するドリルスルー機能
  • データの可視化手法
  • インタラクティブなナビゲーションパターン
  • ユーザー操作イベント
  • ツールチップとセル値の表示
エクスポートと印刷

📄 読む: references/exporting-printing.md

  • Excel(XLS、XLSX)へのエクスポート
  • 書式設定を含む PDF へのエクスポート
  • Word ドキュメントへのエクスポート
  • 印刷設定とプレビュー
  • カスタムエクスポートオプションとテンプレート
  • 大規模なエクスポートの効率的な処理
高度な機能

📄 読む: references/advanced-features.md

  • 大規模なデータセットの非同期データ処理
  • ピボット状態のシリアル化とデシリアル化
  • 行/列ヘッダーの固定
  • タブレットデバイスのタッチ操作対応

クイックスタートの例

データバインディングを使った基本的なピボットグリッド
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Syncfusion.Windows.Forms.PivotAnalysis;
using Syncfusion.PivotAnalysis.Base;
using Syncfusion.Windows.Forms;

namespace PivotGridDemo
{
    public partial class MainForm : Form
    {
        private PivotGridControl pivotGridControl1;
        
        public MainForm()
        {
            InitializeComponent();
            InitializePivotGrid();
        }
        
        private void InitializePivotGrid()
        {
            // Create pivot grid instance using the form components container
            pivotGridControl1 = new PivotGridControl(this.components);
            
            // Set size and position first
            pivotGridControl1.Location = new System.Drawing.Point(10, 10);
            pivotGridControl1.Size = new System.Drawing.Size(800, 500);
            pivotGridControl1.Anchor = AnchorStyles.Top | AnchorStyles.Left | 
                                       AnchorStyles.Right | AnchorStyles.Bottom;
            
            // Apply visual style
            pivotGridControl1.GridVisualStyles = GridVisualStyles.Metro;
            
            // Bind data source
            pivotGridControl1.ItemSource = GetSalesData();
            
            // Configure pivot rows
            pivotGridControl1.PivotRows.Add(new PivotItem 
            { 
                FieldMappingName = "Product", 
                TotalHeader = "Total" 
            });
            pivotGridControl1.PivotRows.Add(new PivotItem 
            { 
                FieldMappingName = "Date", 
                TotalHeader = "Total" 
            });
            
            // Configure pivot columns
            pivotGridControl1.PivotColumns.Add(new PivotItem 
            { 
                FieldMappingName = "Country", 
                TotalHeader = "Total" 
            });
            
            // Configure calculations (summary values)
            pivotGridControl1.PivotCalculations.Add(new PivotComputationInfo 
            { 
                FieldName = "Amount", 
                Format = "C",  // Currency format
                SummaryType = SummaryType.DoubleTotalSum 
            });
            pivotGridControl1.PivotCalculations.Add(new PivotComputationInfo 
            { 
                FieldName = "Quantity", 
                Format = "#,##0" 
            });

            // Enable the field list only after the control has been sized correctly
            pivotGridControl1.ShowPivotTableFieldList = true;
            
            // Add to form
            this.Controls.Add(pivotGridControl1);
        }
        
        private List<ProductSales> GetSalesData()
        {
            // Sample data for demonstration
            return new List<ProductSales>
            {
                new ProductSales 
                { 
                    Product = "Bike", 
                    Date = "FY 2023", 
                    Country = "United States", 
                    Quantity = 120, 
                    Amount = 24000 
                },
                new ProductSales 
                { 
                    Product = "Car", 
                    Date = "FY 2023", 
                    Country = "Canada", 
                    Quantity = 45, 
                    Amount = 135000 
                },
                // Add more data...
            };
        }
    }
    
    public class ProductSales
    {
        public string Product { get; set; }
        public string Date { get; set; }
        public string Country { get; set; }
        public int Quantity { get; set; }
        public double Amount { get; set; }
    }
}

よくあるパターン

パターン 1:ピボットスキーマデザイナーを有効にする
using Syncfusion.Windows.Forms.PivotAnalysis;

// Show the Pivot Table Field List (schema designer)
pivotGridControl1.ShowPivotTableFieldList = true;

// Users can now drag and drop fields to reorganize the pivot structure
// This provides Excel-like field management functionality
パターン 2:条件付き書式を適用する
using Syncfusion.Windows.Forms.PivotAnalysis;

// Add conditional formatting rule
NewRuleConditionalFormat newRule1 = new NewRuleConditionalFormat();
newRule1.RuleType = RuleType.FormatOnlyCellsThatContain;
newRule1.SummaryElement = "Quantity";

ConditionalFormat condition1 = new ConditionalFormat();
condition1.PredicateType = PredicateType.And;
condition1.ConditionType = PivotGridDataConditionType.LessThan;
condition1.StartValue = 30;
condition1.EndValue = 60;
newRule1.Conditions.Add(condition1);
パターン 3:Excel にエクスポートする
using Syncfusion.Windows.Forms.PivotAnalysis;

// Export pivot grid to Excel file
pivotGridControl1.ExportToExcel("PivotReport.xlsx");

// Export with options
ExcelExport excelExport = new ExcelExport(this.pivotGridControl1, Syncfusion.XlsIO.ExcelVersion.Excel2010);
excelExport.ExportMode = ExportModes.Cell;
excelExport.Export(@"D:\PivotGrid.xlsx");
パターン 4:プログラムによるフィルタリング
using Syncfusion.Windows.Forms.PivotAnalysis;
using Syncfusion.PivotAnalysis.Base;

// Add filter to a specific field
PivotItem productRow = pivotGridControl1.PivotRows[0];
productRow.FilterItems = new List<string> { "Bike", "Car" };

// Or use filter expressions
FilterExpression filter = new FilterExpression();
filter.FieldName = "Product";
filter.FilterItems.Add("Bike");
filter.FilterItems.Add("Car");
pivotGridControl1.Filters.Add(filter);

// Refresh the pivot grid to apply filters
pivotGridControl1.TableControl.Refresh();
パターン 5:カスタム集計
using Syncfusion.PivotAnalysis.Base;

// Create custom calculation with expression
PivotComputationInfo customCalc = new PivotComputationInfo
{
    FieldName = "Profit",
    CalculationType = CalculationType.Formula,
    Format = "C",
    SummaryType = SummaryType.Custom
};

// Define custom summary calculation
customCalc.CustomSummaryMethod = (items) =>
{
    double total = 0;
    foreach (var item in items)
    {
        total += (double)item.GetType().GetProperty("Amount").GetValue(item, null);
    }
    return total * 0.15; // Calculate 15% profit margin
};

pivotGridControl1.PivotCalculations.Add(customCalc);

一般的なユースケース

  1. 売上分析ダッシュボード

    • 商品、地域、期間別に売上を追跡します
    • 複数の切り口でパフォーマンスを比較します
    • 売上データの傾向やパターンを特定します
  2. 財務レポート

    • 予算と実績の分析
    • 経費の追跡と分類
    • 部門/商品別の収益内訳
  3. 在庫管理

    • 拠点および商品カテゴリ別の在庫数
    • 在庫移動の分析と回転率
    • 発注点の計算
  4. ビジネスインテリジェンス

    • ドリルダウン機能を備えた KPI ダッシュボード
    • 部門横断的なデータ分析
    • 経営層向けサマリーレポート
  5. 顧客分析

    • 顧客のセグメンテーションとプロファイリング
    • 購買パターンの分析
    • 顧客維持率と解約率の指標
  6. 運用レポート

    • 生産効率の追跡
    • リソース利用状況の分析
    • 品質指標と不良の追跡

主なプロパティと設定

必須プロパティ:

  • ItemSource - ピボットグリッドのデータソース(IEnumerable、DataTable など)
  • PivotRows - 行ヘッダーとして表示するフィールドのコレクション
  • PivotColumns - 列ヘッダーとして表示するフィールドのコレクション
  • PivotCalculations - 集計計算(Sum、Average、Count など)
  • ShowPivotTableFieldList - スキーマデザイナーの有効/無効を切り替えます
  • GridVisualStyles - ビジュアルテーマ(Metro、Office2016 など)を適用します

カスタマイズプロパティ:

  • EnableDrillDown - グループ化されたデータの展開/折りたたみをユーザーに許可します
  • ShowGrandTotals - 総計の行と列を表示します
  • ShowSubTotals - 小計の行と列を表示します
  • AllowSelection - セル選択を有効にします
  • AllowFiltering - フィルタリング UI を有効にします
  • AllowSorting - 並べ替え機能を有効にします

すべてのプロパティ、メソッド、イベントの詳細については、上記のリファレンスファイルを参照してください。

コメント