Skip to main content

syncfusion-winforms-grid-control

Implements Syncfusion Windows Forms GridControl with cell-oriented architecture, virtual data loading, and Excel-like features. Use this when working with spreadsheet-like grids, GridStyleInfo cell styling, grid formulas, or covered cell ranges. The skill covers QueryCellInfo events, PopulateValues, ChangeCells, grid selection, editing validation, and extensive cell customization capabilities.

ソース情報

リポジトリ
syncfusion/winforms-ui-components-skills
ソースの最終更新活動
2026年7月6日 07:19
検出された SKILL.md の言語
英語
スター
2
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
13 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
syncfusion-winforms-grid-control
description
Implements Syncfusion Windows Forms GridControl with cell-oriented architecture, virtual data loading, and Excel-like features. Use this when working with spreadsheet-like grids, GridStyleInfo cell styling, grid formulas, or covered cell ranges. The skill covers QueryCellInfo events, PopulateValues, ChangeCells, grid selection, editing validation, and extensive cell customization capabilities.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# Implementing Grid Controls Complete guide for implementing Syncfusion® Windows Forms GridControl - a powerful cell-oriented grid that provides Excel-like functionality, virtual data loading, and extensive cell-level customization for .NET desktop applications. ## When to Use This Skill Use this skill when you need to: - **Implement cell-oriented grids** that contain their own data - **Create virtual grids** with on-demand data loading for large datasets - **Customize cells individually** with GridStyleInfo and styling architecture - **Add Excel-like features** (selection frames, formulas, copy/paste) - **Populate grid data** using loops, PopulateValues, or QueryCellInfo - **Implement cell types** (TextBox, ComboBox, CheckBox, Button, etc.) - **Enable cell editing** with validation and custom handlers - **Support formulas** with cell references and built-in functions - **Create covered cells** or merge cells - **Implement drag and drop** for columns and rows - **Handle selections** (range-based or row-based) - **Export grid data** to Excel, PDF, Word, CSV, or HTML - **Freeze rows/columns** for better navigation - **Build spreadsheet-like interfaces** in Windows Forms ## GridControl Overview The **GridControl** is a cell-oriented grid that maintains its own data and doesn't require binding to an external data source. It's designed for maximum flexibility and performance, supporting virtually unlimited rows and columns. **Key Capabilities:** - Cell-level customization down to individual cells - Virtual mode for efficient handling of millions of rows - 15+ built-in cell types with extensibility - Excel-like formulas with cell references - Covered cells and merged cell functionality - Multiple selection modes (range and row-based) - Rich editing with validation - Drag and drop support - Export to multiple formats - Frozen rows and columns - Clipboard operations (copy/paste) - Touch support **Best Use Cases:** - Custom data layouts that don't fit table structures - Spreadsheet-like applications - Virtual grids with on-demand data loading - Applications requiring cell-level control - Grids that need formula support - Complex cell types and custom renderers ## Documentation and Navigation Guide ### Getting Started 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Installation and assembly deployment - Adding GridControl through designer - Adding GridControl through code - Initial configuration and setup - Required assemblies and namespaces - Basic grid creation ### Data Population 📄 **Read:** [references/data-population.md](references/data-population.md) - Setting RowCount and ColCount - Populating by looping through cells - Using PopulateValues method - Virtual grid with QueryCellInfo event - Data binding patterns - Performance considerations ### Cell Styling Architecture 📄 **Read:** [references/cell-style-architecture.md](references/cell-style-architecture.md) - GridStyleInfo object model - Modifying styles through designer - Modifying styles through code - Using ChangeCells method - GridRangeInfo for range operations - Appearance customization - Style inheritance and base styles ### Cell Types 📄 **Read:** [references/cell-types.md](references/cell-types.md) - Overview of 15+ cell types - TextBox and static text - ComboBox and dropdown lists - CheckBox and radio buttons - DateTimePicker and calendar - NumericUpDown and currency - Button and link cells - Image cells - Progress bar cells - Custom cell types - Cell type configuration ### Editing and Validation 📄 **Read:** [references/editing-validation.md](references/editing-validation.md) - ReadOnly property (grid and cell level) - CurrentCellStartEditing event - CurrentCellEditingComplete event - Validation rules and handlers - Custom edit behavior - Preventing edits conditionally - Edit mode configuration ### Selection 📄 **Read:** [references/selection.md](references/selection.md) - Range selection with AllowSelection - Row selection with ListBoxSelectionMode - GridSelectionFlags enumeration - Single vs multiple selection - SelectionChanging event - SelectionChanged event - Programmatic selection - Getting selected ranges ### Excel-Like Features 📄 **Read:** [references/excel-like-features.md](references/excel-like-features.md) - Excel-like selection frame - 2016 vs 2003 selection styles - Excel-like current cell highlighting - Keyboard navigation (arrows, Tab, Enter) - Copy and paste support - Clipboard operations - Excel-like behaviors - Selection frame customization ### Formula Support 📄 **Read:** [references/formula-support.md](references/formula-support.md) - Enabling formula engine - Formula syntax and cell references - Built-in functions (SUM, AVERAGE, IF, etc.) - Creating formulas in cells - Formula calculation and dependencies - Error handling - Custom functions - Formula events ### Covered Ranges 📄 **Read:** [references/covered-ranges.md](references/covered-ranges.md) - Covering multiple cells - CoveredRanges collection - Adding and removing covered ranges - Covered cells vs merged cells - Visual appearance of covered cells - Cell value in covered ranges - Styling covered cells ### Drag and Drop 📄 **Read:** [references/drag-and-drop.md](references/drag-and-drop.md) - Enabling column drag and drop - Row drag and drop support - Touch support for drag operations - Drag events and customization - Restricting drag operations - Visual feedback during drag ### Scrolling and Zooming 📄 **Read:** [references/scrolling-zooming.md](references/scrolling-zooming.md) - Scroll bar configuration - Frozen rows and columns - Zoom functionality - Scroll events - Smooth scrolling - Performance optimization for scrolling - Virtual scrolling ### Exporting 📄 **Read:** [references/exporting.md](references/exporting.md) - Export to Excel (XLS, XLSX) - Export to PDF - Export to Word documents - Export to CSV format - Export to HTML - Export options and customization - Styling exported content - Range-based export ## Quick Start Example ### Basic GridControl Setup ```csharp 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); } } ``` ## Common Patterns ### Pattern 1: Virtual Grid ```csharp gridControl1.Model.RowCount = 1000000; gridControl1.QueryCellInfo += (sender, e) => { e.Style.CellValue = GetData(e.RowIndex, e.ColIndex); }; ``` 📄 **Details:** [references/data-population.md](references/data-population.md) ### Pattern 2: Cell Styling ```csharp GridStyleInfo style = new GridStyleInfo { BackColor = Color.LightGreen }; gridControl1.ChangeCells(GridRangeInfo.Cells(5, 2, 8, 5), style); ``` 📄 **Details:** [references/cell-style-architecture.md](references/cell-style-architecture.md) ### Pattern 3: Formulas ```csharp gridControl1.Model.EnableFormulas = true; gridControl1[5, 1].CellValue = "=SUM(A1:A4)"; ``` 📄 **Details:** [references/formula-support.md](references/formula-support.md) ### Pattern 4: Cell Types ```csharp gridControl1[3, 2].CellType = GridCellTypeName.ComboBox; gridControl1[3, 2].ChoiceList = new string[] { "Option 1", "Option 2" }; ``` 📄 **Details:** [references/cell-types.md](references/cell-types.md) ### Pattern 5: Selection ```csharp gridControl1.AllowSelection = GridSelectionFlags.Any; gridControl1.SelectionChanged += (s, e) => { /* Handle selection */ }; ``` 📄 **Details:** [references/selection.md](references/selection.md) ## Key Properties ### Essential Properties | Property | Type | Description | |----------|------|-------------| | `RowCount` | int | Number of rows in the grid | | `ColCount` | int | Number of columns in the grid | | `Model[row, col]` | GridStyleInfo | Access cell style and properties | | `AllowSelection` | GridSelectionFlags | Enable/configure range selection | | `ListBoxSelectionMode` | SelectionMode | Enable/configure row selection | | `ReadOnly` | bool | Enable/disable editing for entire grid | | `ExcelLikeSelectionFrame` | bool | Show Excel-style selection frame | | `ExcelLikeCurrentCell` | bool | Highlight current cell like Excel | | `CoveredRanges` | GridRangeInfoList | Collection of covered cell ranges | ### GridStyleInfo Properties | Property | Type | Description | |----------|------|-------------| | `CellValue` | object | Value displayed in the cell | | `CellType` | string | Cell type (TextBox, ComboBox, etc.) | | `BackColor` | Color | Background color | | `TextColor` | Color | Text color | | `Font` | GridFontInfo | Font settings | | `ReadOnly` | bool | Enable/disable editing for cell | | `Format` | string | Display format string | | `HorizontalAlignment` | GridHorizontalAlignment | Text horizontal alignment | | `VerticalAlignment` | GridVerticalAlignment | Text vertical alignment | ## Common Use Cases - **Spreadsheet Application** - Excel-like interface with formulas and formatting - **Data Entry Form** - Custom forms with various cell types - **Report Viewer** - Formatted reports with merged cells and export - **Virtual Data Grid** - Millions of rows with on-demand loading - **Dashboard Grid** - Custom layouts with visual indicators - **Configuration Editor** - Property grids with specialized cell types ## Troubleshooting **Performance Issues:** Use virtual mode (QueryCellInfo), BeginUpdate/EndUpdate for batch operations **Selection Not Working:** Check AllowSelection property, verify grid has focus **Formulas Not Calculating:** Ensure Model.EnableFormulas = true, validate syntax **Cell Values Not Showing:** Verify CellValue set, check for covered cells, validate row/column indices (1-based) For detailed troubleshooting, see the relevant reference files in the Navigation Guide.
GitHubで見る