agentsclimarketplace

Syncfusion winforms grid control

Skill syncfusion/winforms-ui-components-skills/skills/syncfusion-winforms-grid-control

Skills for Syncfusion WinForms controls. Enable AI-assisted development with comprehensive documentation, code examples, and best practices for 100+ UI controls including DataGrid, Charts, Scheduler, and more.

Install
npx -y skills add syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-grid-control

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

11.3 KB, ~2.5k tokens by cl100k_base, as published. Nobody here has run it

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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • Scroll bar configuration
  • Frozen rows and columns
  • Zoom functionality
  • Scroll events
  • Smooth scrolling
  • Performance optimization for scrolling
  • Virtual scrolling

Exporting

๐Ÿ“„ Read: 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

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

gridControl1.Model.RowCount = 1000000;
gridControl1.QueryCellInfo += (sender, e) =>
{
    e.Style.CellValue = GetData(e.RowIndex, e.ColIndex);
};

๐Ÿ“„ Details: references/data-population.md

Pattern 2: Cell Styling

GridStyleInfo style = new GridStyleInfo { BackColor = Color.LightGreen };
gridControl1.ChangeCells(GridRangeInfo.Cells(5, 2, 8, 5), style);

๐Ÿ“„ Details: references/cell-style-architecture.md

Pattern 3: Formulas

gridControl1.Model.EnableFormulas = true;
gridControl1[5, 1].CellValue = "=SUM(A1:A4)";

๐Ÿ“„ Details: references/formula-support.md

Pattern 4: Cell Types

gridControl1[3, 2].CellType = GridCellTypeName.ComboBox;
gridControl1[3, 2].ChoiceList = new string[] { "Option 1", "Option 2" };

๐Ÿ“„ Details: references/cell-types.md

Pattern 5: Selection

gridControl1.AllowSelection = GridSelectionFlags.Any;
gridControl1.SelectionChanged += (s, e) => { /* Handle selection */ };

๐Ÿ“„ Details: references/selection.md

Key Properties

Essential Properties

PropertyTypeDescription
RowCountintNumber of rows in the grid
ColCountintNumber of columns in the grid
Model[row, col]GridStyleInfoAccess cell style and properties
AllowSelectionGridSelectionFlagsEnable/configure range selection
ListBoxSelectionModeSelectionModeEnable/configure row selection
ReadOnlyboolEnable/disable editing for entire grid
ExcelLikeSelectionFrameboolShow Excel-style selection frame
ExcelLikeCurrentCellboolHighlight current cell like Excel
CoveredRangesGridRangeInfoListCollection of covered cell ranges

GridStyleInfo Properties

PropertyTypeDescription
CellValueobjectValue displayed in the cell
CellTypestringCell type (TextBox, ComboBox, etc.)
BackColorColorBackground color
TextColorColorText color
FontGridFontInfoFont settings
ReadOnlyboolEnable/disable editing for cell
FormatstringDisplay format string
HorizontalAlignmentGridHorizontalAlignmentText horizontal alignment
VerticalAlignmentGridVerticalAlignmentText 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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.