Token导航 LogoToken导航TokenDH.com
开发只读github未标认证来源可访问许可证需确认审计通过

syncfusion-winforms-datagrid同步融合 winforms 数据网格

Agent Skill

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

总安装

864

周安装

36

GitHub Stars

公开资料未说明

下载量

288
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:syncfusion-winforms-datagrid(同步融合 winforms 数据网格)
来源仓库:https://github.com/syncfusion/winforms-ui-components-skills
仓库路径:skills/syncfusion-winforms-datagrid
安装命令:
npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-datagrid
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-datagrid

简介

用于辅助数据整理、表格处理和指标分析,提升数据处理效率。

  • 适合清洗字段、汇总数据、发现异常并生成统计说明。
  • 使用时需确认数据来源与字段含义,避免误将样本当作全量事实。
  • 涉及敏感数据导出时应先确认脱敏权限与边界。
  • 适用于数据分析与报表准备场景。syncfusion-winforms-datagrid 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Implementing Syncfusion WinForms DataGrid

A comprehensive guide for implementing the Syncfusion Windows Forms DataGrid (SfDataGrid) component, a powerful control for displaying and manipulating tabular data with features like columns, filtering, sorting, grouping, editing, summaries, and export capabilities.

When to Use This Skill

Use this skill when you need to:

  • Display tabular data in Windows Forms applications
  • Define and customize columns (text, numeric, date, checkbox, combobox, etc.)
  • Implement data operations like filtering, sorting, and grouping
  • Enable in-grid editing with validation
  • Display data summaries and aggregations
  • Implement selection functionality (single, multiple, row, cell)
  • Export grid data to Excel or PDF
  • Apply conditional styling based on data values
  • Create master-detail views with hierarchical data
  • Enable drag-and-drop operations in grids
  • Localize grid text and messages
  • Serialize and deserialize grid state

Component Overview

The Syncfusion WinForms DataGrid (SfDataGrid) is a high-performance data grid control that provides:

  • Column Management: Auto-generation, manual definition, stacked headers, column types
  • Data Operations: Filtering (Excel-like UI), sorting, grouping with expand/collapse
  • Editing: In-grid editing with various modes and validation
  • Summaries: Group summaries, table summaries, caption summaries
  • Selection: Row, cell, or any selection with multiple modes
  • Export: Excel and PDF export with customization
  • Styling: Conditional styling, custom cell rendering
  • Advanced: Master-detail views, drag-drop, localization, serialization

Creating the DataGrid Control

Create the SfDataGrid control programmatically:

using Syncfusion.WinForms.DataGrid;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private SfDataGrid sfDataGrid1;

        public Form1()
        {
            InitializeComponent();

            // Create SfDataGrid instance
            sfDataGrid1 = new SfDataGrid();

            // Add to form's controls collection
            this.Controls.Add(sfDataGrid1);
        }
    }
}

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

When you need to:

  • Set up the SfDataGrid control for the first time
  • Understand assembly deployment and NuGet package installation
  • Create the control via Designer or in code
  • Create data models and collections
  • Bind data to the grid
  • Configure auto-generated or manually defined columns
  • Handle TableControl events (KeyDown, MouseDown)
  • Enable basic features (sorting, filtering, grouping, editing)
  • See a complete working example

Column Management

📄 Read: references/columns.md

When you need to:

  • Define columns (auto-generate vs manual definition)
  • Work with different column types (GridTextColumn, GridNumericColumn, GridDateTimeColumn, GridCheckBoxColumn, GridComboBoxColumn, etc.)
  • Customize auto-generated columns or use Data Annotations
  • Add, remove, or reorder columns programmatically
  • Create stacked headers spanning multiple columns
  • Hide, show, or resize columns
  • Enable column drag-and-drop for reordering

Editing Data

📄 Read: references/editing.md

When you need to:

  • Enable or disable editing for the grid or specific columns
  • Configure edit modes (single-click, double-click, F2 key)
  • Handle edit events (begin edit, end edit, value changed)
  • Implement validation during editing
  • Programmatically start, end, or cancel editing
  • Customize cursor placement in edit mode
  • Change cell values programmatically

Filtering

📄 Read: references/filtering.md

When you need to:

  • Implement programmatic filtering (View filtering, Column filtering)
  • Enable Excel-like filter UI for users
  • Apply different filter types (string, numeric, date)
  • Use filter predicates with multiple conditions
  • Handle filter events
  • Clear or modify existing filters
  • Troubleshoot filtering issues

Sorting

📄 Read: references/sorting.md

When you need to:

  • Enable UI sorting with click actions
  • Apply programmatic sorting (single or multi-column)
  • Implement custom sort comparers
  • Handle sort events
  • Configure tri-state sorting
  • Clear or modify existing sorts
  • Troubleshoot sorting issues

Grouping

📄 Read: references/grouping.md

When you need to:

  • Enable UI grouping with drag-drop
  • Group data programmatically (single or multi-level)
  • Customize group captions and formatting
  • Expand/collapse groups
  • Implement custom grouping logic with KeySelector
  • Handle group events
  • Troubleshoot grouping issues

Selection

📄 Read: references/selection.md

When you need to:

  • Configure selection modes (single, multiple, extended)
  • Set selection units (row, cell, any)
  • Select rows, columns, or cells programmatically
  • Handle selection change events
  • Implement CheckBox-based selection
  • Disable selection for specific rows or columns
  • Work with current cell and selected items

Data Summaries

📄 Read: references/summaries.md

When you need to:

  • Display group summaries (sum, average, count, min, max)
  • Add table summaries at top or bottom
  • Customize summary rows and formats
  • Create caption summaries for groups
  • Implement custom aggregate functions
  • Position and style summary rows

Export to Excel and PDF

📄 Read: references/export.md

When you need to:

  • Export grid data to Excel or PDF
  • Customize export appearance and formatting
  • Export selected rows or filtered data
  • Include or exclude specific columns in export
  • Handle export events for customization
  • Export with styles and themes
  • Configure page settings for PDF export

Conditional Styling and Custom Rendering

📄 Read: references/styling.md

When you need to:

  • Apply conditional styling based on cell values or row data
  • Customize cell, row, and column appearance
  • Handle DrawCell event for custom rendering
  • Apply themes and visual styles
  • Style specific cell types differently
  • Implement alternating row colors
  • Create custom cell renderers

Advanced Features

📄 Read: references/advanced-features.md

When you need to:

  • Implement master-detail views with hierarchical data
  • Enable drag-and-drop operations (rows, columns)
  • Localize grid text and messages for different cultures
  • Serialize and deserialize grid state (columns, sorting, grouping, filtering)
  • Configure grid settings and preferences
  • Handle complex hierarchical data structures

Quick Start Example

Here's a complete step-by-step example to create a working WinForms DataGrid application from scratch:

Step 1: Create Data Model Classes

First, create classes to represent your data:

using System;
using System.Collections.ObjectModel;

public class OrderInfo
{
    public int OrderID { get; set; }
    public string CustomerID { get; set; }
    public string CustomerName { get; set; }
    public string Country { get; set; }
    public string ShipCity { get; set; }

    public OrderInfo(int orderId, string customerName, string country, string customerId, string shipCity)
    {
        this.OrderID = orderId;
        this.CustomerName = customerName;
        this.Country = country;
        this.CustomerID = customerId;
        this.ShipCity = shipCity;
    }
}

public class OrderInfoCollection
{
    private ObservableCollection<OrderInfo> _orders;

    public ObservableCollection<OrderInfo> Orders
    {
        get { return _orders; }
        set { _orders = value; }
    }

    public OrderInfoCollection()
    {
        _orders = new ObservableCollection<OrderInfo>();
        GenerateOrders();
    }

    private void GenerateOrders()
    {
        _orders.Add(new OrderInfo(1001, "Maria Anders", "Germany", "ALFKI", "Berlin"));
        _orders.Add(new OrderInfo(1002, "Ana Trujilo", "Mexico", "ANATR", "Mexico D.F."));
        _orders.Add(new OrderInfo(1003, "Antonio Moreno", "Mexico", "ANTON", "Mexico D.F."));
        _orders.Add(new OrderInfo(1004, "Thomas Hardy", "UK", "AROUT", "London"));
        _orders.Add(new OrderInfo(1005, "Christina Berglund", "Sweden", "BERGS", "Lula"));
        _orders.Add(new OrderInfo(1006, "Hanna Moos", "Germany", "BLAUS", "Mannheim"));
        _orders.Add(new OrderInfo(1007, "Frederique Citeaux", "France", "BLONP", "Strasbourg"));
        _orders.Add(new OrderInfo(1008, "Martin Sommer", "Spain", "BOLID", "Madrid"));
        _orders.Add(new OrderInfo(1009, "Laurence Lebihan", "France", "BONAP", "Marseille"));
        _orders.Add(new OrderInfo(1010, "Elizabeth Lincoln", "Canada", "BOTTM", "Tsawassen"));
    }
}

Step 2: Create and Configure the DataGrid in Your Form

using System;
using System.Windows.Forms;
using Syncfusion.WinForms.DataGrid;
using Syncfusion.WinForms.DataGrid.Enums;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private SfDataGrid sfDataGrid1;

        public Form1()
        {
            InitializeComponent();
            InitializeDataGrid();
        }

        private void InitializeDataGrid()
        {
            // Create DataGrid instance
            sfDataGrid1 = new SfDataGrid();
            sfDataGrid1.Dock = DockStyle.Fill;

            // Create and bind data source
            OrderInfoCollection collection = new OrderInfoCollection();
            sfDataGrid1.DataSource = collection.Orders;

            // Enable features
            sfDataGrid1.AllowEditing = true;
            sfDataGrid1.AllowFiltering = true;
            sfDataGrid1.AllowSorting = true;
            sfDataGrid1.AllowGrouping = true;
            sfDataGrid1.ShowGroupDropArea = true;

            // Configure selection
            sfDataGrid1.SelectionMode = GridSelectionMode.Extended;

            // Auto-generate columns from data model
            sfDataGrid1.AutoGenerateColumns = true;

            // Add to form
            this.Controls.Add(sfDataGrid1);
        }
    }
}

Step 3: Define Columns Manually (Optional)

If you want full control over columns instead of auto-generation:

private void InitializeDataGrid()
{
    sfDataGrid1 = new SfDataGrid();
    sfDataGrid1.Dock = DockStyle.Fill;

    // Disable auto-generation to define columns manually
    sfDataGrid1.AutoGenerateColumns = false;

    // Add columns with specific properties
    sfDataGrid1.Columns.Add(new GridTextColumn()
    {
        MappingName = "OrderID",
        HeaderText = "Order ID",
        Width = 100,
        AllowEditing = false // Make this column read-only
    });

    sfDataGrid1.Columns.Add(new GridTextColumn()
    {
        MappingName = "CustomerID",
        HeaderText = "Customer ID",
        Width = 120
    });

    sfDataGrid1.Columns.Add(new GridTextColumn()
    {
        MappingName = "CustomerName",
        HeaderText = "Customer Name",
        Width = 150
    });

    sfDataGrid1.Columns.Add(new GridTextColumn()
    {
        MappingName = "Country",
        HeaderText = "Country",
        Width = 120
    });

    sfDataGrid1.Columns.Add(new GridTextColumn()
    {
        MappingName = "ShipCity",
        HeaderText = "Ship City",
        Width = 120
    });

    // Bind data source
    OrderInfoCollection collection = new OrderInfoCollection();
    sfDataGrid1.DataSource = collection.Orders;

    // Enable features
    sfDataGrid1.AllowSorting = true;
    sfDataGrid1.AllowFiltering = true;
    sfDataGrid1.AllowGrouping = true;
    sfDataGrid1.ShowGroupDropArea = true;

    // Add to form
    this.Controls.Add(sfDataGrid1);
}

What You'll See

When you run the application:

  • A data grid displaying 10 orders with customer information
  • Click column headers to sort
  • Click filter icons to filter data
  • Drag column headers to the drop area to group by that column
  • Double-click cells to edit (if AllowEditing is true)
  • Multiple selection support with Ctrl/Shift keys

Basic Data Operations

Binding Different Data Sources

The DataGrid supports various data source types:

// Bind to ObservableCollection (recommended for automatic UI updates)
ObservableCollection<OrderInfo> orders = new ObservableCollection<OrderInfo>();
sfDataGrid1.DataSource = orders;

// Bind to List
List<OrderInfo> orderList = new List<OrderInfo>();
sfDataGrid1.DataSource = orderList;

// Bind to DataTable
DataTable dataTable = new DataTable();
sfDataGrid1.DataSource = dataTable;

// Bind to BindingList
BindingList<OrderInfo> bindingList = new BindingList<OrderInfo>();
sfDataGrid1.DataSource = bindingList;

Handling Selection Events

// Handle selection changed
sfDataGrid1.SelectionChanged += (sender, e) =>
{
    if (sfDataGrid1.SelectedItem != null)
    {
        var selectedOrder = sfDataGrid1.SelectedItem as OrderInfo;
        Console.WriteLine($"Selected: {selectedOrder.CustomerName}");
    }
};

// Handle cell value changed
sfDataGrid1.CurrentCellValueChanged += (sender, e) =>
{
    var rowData = sfDataGrid1.GetRecordAtRowIndex(e.RowColumnIndex.RowIndex);
    Console.WriteLine($"Cell value changed in row: {e.RowColumnIndex.RowIndex}");
};

Common Patterns

Manual Column Definition with Selection

sfDataGrid.AutoGenerateColumns = false;

// Add columns
sfDataGrid.Columns.Add(new GridTextColumn()
{
    MappingName = "OrderID",
    HeaderText = "Order ID",
    AllowEditing = false
});

sfDataGrid.Columns.Add(new GridNumericColumn()
{
    MappingName = "Quantity",
    HeaderText = "Qty"
});

// Configure selection
sfDataGrid.SelectionMode = GridSelectionMode.Multiple;
sfDataGrid.SelectionUnit = GridSelectionUnit.Row;

Key Properties

Core Grid Properties

  • DataSource - The data source to bind
  • AutoGenerateColumns - Enable/disable automatic column generation
  • AllowEditing - Enable/disable editing
  • AllowFiltering - Enable/disable filtering
  • AllowSorting - Enable/disable sorting
  • AllowGrouping - Enable/disable grouping
  • AllowDraggingColumns - Enable/disable column reordering
  • AllowDraggingRows - Enable/disable row reordering

Selection Properties

  • SelectionMode - Single, Multiple, Extended, None
  • SelectionUnit - Row, Cell, Any
  • SelectedItem - Get/set selected item
  • SelectedItems - Get/set multiple selected items

Visual Properties

  • HeaderRowHeight - Height of header row
  • RowHeight - Default row height
  • Style - Grid styling options
  • ShowGroupDropArea - Show/hide group drop area
  • ShowRowHeader - Show/hide row headers

Common Use Cases

Use Case 1: E-commerce Order Management

Display orders with filtering by status, sorting by date, grouping by customer, editing for updates, and conditional styling for priority orders.

Use Case 2: Financial Reporting

Show transaction data with summaries (totals, averages), export to Excel/PDF, conditional styling for negative values, and master-detail for transaction details.

Use Case 3: Inventory Management

Track products with filtering by category, low-stock conditional styling, editing for quantity updates, and selection for bulk operations.

Use Case 4: Customer Relationship Management

Manage contacts with multi-column sorting, grouping by region, export capabilities, and custom rendering for status indicators.

Use Case 5: Project Management

Display tasks with master-detail for subtasks, drag-drop for reordering, conditional styling by status, and summaries for progress tracking.

Troubleshooting

For common issues and solutions:

  • Column not displaying: Check MappingName matches property name exactly (case-sensitive)
  • Editing not working: Verify both grid-level and column-level AllowEditing properties
  • Filter not applying: Ensure AllowFiltering is enabled and call RefreshFilter() after programmatic changes
  • Export formatting issues: Customize export options and handle export events
  • Styling not visible: Ensure DrawCell event is wired and Style properties are set correctly
  • Selection not working: Check SelectionMode and SelectionUnit are properly configured

Refer to the specific reference files above for detailed troubleshooting guidance in each feature area.


Next Steps

Start with Getting Started to install and configure the SfDataGrid, then explore specific features through the navigation guide above based on your application requirements.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.18%
按下载量换算110

Claude

28.52%
按下载量换算82

Cursor

18.76%
按下载量换算54

Gemini CLI

8.8%
按下载量换算25

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills