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

syncfusion-winforms-grid-grouping-controlsyncfusion winforms 网格分组控件

Agent Skill

syncfusion-winforms-grid-grouping-control 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

824

周安装

34

GitHub Stars

1

下载量

269
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

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

简介

专用于对网格数据进行层级分组的控件扩展,便于组织复杂数据集。

  • 典型应用场景包括财务明细表、日志分析视图或多维度统计展示界面。
  • 技能封装了分组逻辑与 UI 渲染,开发者可直接复用而无需重复造轮子。
  • 安装后需验证分组字段是否存在空值风险,防止展开/折叠时出现意外错误。
  • 对于高频刷新场景,应评估分组计算对 CPU 资源的消耗情况。

SKILL.md

Implementing Grid Grouping Controls

Comprehensive guide for implementing Syncfusion® Windows Forms GridGroupingControl - an enterprise-level grid component with built-in support for hierarchical grouping, filtering, multi-column sorting, summaries, and complex data relationships.

When to Use This Skill

Use this skill when you need to:

  • Implement GridGroupingControl in Windows Forms applications
  • Display hierarchical or grouped data with automatic grouping by one or more columns
  • Create master-detail relationships with nested tables and child relations
  • Apply advanced filtering (Excel-like, dynamic, or programmatic filters)
  • Add data summaries (group summaries, caption summaries, table summaries)
  • Sort data by single or multiple columns with custom sorting logic
  • Handle large datasets with virtualization and performance optimization
  • Export grouped data to Excel, PDF, CSV, HTML, or Word
  • Customize grid appearance with conditional formatting and styling
  • Bind to various data sources (DataTable, XML, collections, dynamic objects)

This skill is essential for applications requiring sophisticated data grouping, drill-down capabilities, and comprehensive data management features.

Component Overview

GridGroupingControl is a powerful data grid component that extends standard grid functionality with:

  • Hierarchical Grouping: Organize data into nested groups based on field values
  • Group Drop Area: Interactive area for drag-and-drop grouping by column headers
  • Multi-Level Sorting: Sort by multiple columns with custom sort logic
  • Advanced Filtering: Excel-like filters, dynamic filters, and programmatic record filters
  • Summaries: Column summaries, group summaries, and caption summaries with aggregates
  • Master-Detail Support: Display nested tables with parent-child relationships
  • Data Virtualization: Handle millions of records with instant scrolling
  • Rich Editing: In-place editing with validation and custom editors
  • Flexible Styling: Conditional formatting, themes, and cell-level customization

The control is designed for business applications requiring enterprise-level data management capabilities.

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and assembly deployment
  • Creating GridGroupingControl through Designer and Code
  • Basic data source binding
  • Populating data and first grid example
  • Essential properties and initial configuration

Data Binding and Sources

📄 Read: references/data-binding.md

  • ADO.NET data binding (DataTable, DataSet, DataView)
  • XML data binding with ReadXml/WriteXml
  • Custom collections (IList, IBindingList, ITypedList)
  • Strongly typed collections and generic collections
  • Dynamic object binding for.NET 4.0+
  • Unbound mode with custom columns
  • Collection interfaces and change notifications

When to read: Setting up data sources, binding to databases, working with custom objects, or implementing unbound scenarios.

Grouping Features

📄 Read: references/grouping.md

  • Adding data groups (Designer and programmatic)
  • GroupDropArea configuration and customization
  • Multi-column grouping and nested groups
  • Custom grouping with IComparer and IGroupByColumnCategorizer
  • GroupBy options (headers, footers, preview rows)
  • GroupCaptionSection and caption text tokens
  • Working with groups (expand/collapse, iterate, access)
  • Grouping events and customization

When to read: Implementing grouping functionality, customizing group appearance, working with nested groups, or handling group-related events.

Sorting Operations

📄 Read: references/sorting.md

  • Programmatic sorting with SortedColumns collection
  • Multi-column sorting with precedence
  • Sort icon placement and customization
  • Removing and clearing sorting
  • Sorting grouped columns
  • Sort by summary values
  • Sort by display member (foreign key relations)
  • Custom sorting with IComparer
  • Sorting events (Changing/Changed)

When to read: Implementing sorting features, customizing sort behavior, sorting by computed values, or handling sort events.

Filtering and Search

📄 Read: references/filtering.md

  • Setting up filter bar for user filtering
  • Record filters (programmatic filtering)
  • Filter by expression with operators
  • Dynamic filter with GridDynamicFilter
  • Excel-like filter (Optimized and Office2007)
  • Filter by color, number, date, and null values
  • Filter by display member vs value member
  • Stacked header filtering
  • Getting filtered records and filter strings
  • Filtering events

When to read: Implementing filtering capabilities, Excel-like filtering UI, programmatic data filtering, or filter customization.

Summaries and Aggregates

📄 Read: references/summaries.md

  • Summary types (Column, Group, Table, Caption)
  • Adding summaries with SummaryDescriptor
  • Built-in aggregate functions (Sum, Average, Count, Min, Max)
  • Custom summaries with ISummaryAggregate
  • Sort by summary values
  • Summary appearance and formatting
  • Summary in group captions
  • Summary events

When to read: Adding aggregate calculations, displaying group totals, implementing custom aggregates, or showing summaries in captions.

Relations and Hierarchy

📄 Read: references/relations-and-hierarchy.md

  • Master-detail relationships setup
  • Nested tables configuration
  • Relations descriptor and child table descriptor
  • Hierarchy display and navigation
  • Expand/collapse nested tables
  • Working with child tables programmatically
  • Foreign key reference relations

When to read: Implementing master-detail grids, displaying nested data, configuring parent-child relationships, or working with hierarchical data.

Editing Capabilities

📄 Read: references/editing.md

  • Enabling/disabling editing
  • Cell editing modes and activation
  • Current cell behavior
  • Data validation
  • Editing events (StartEditing, EditingComplete)
  • Custom editors and cell types
  • AddNew record functionality

When to read: Configuring edit behavior, implementing validation, customizing editors, or handling edit events.

Selection Features

📄 Read: references/selections.md

  • Selection modes (None, One, Multiple, MultiSimple, MultiExtended)
  • Record selection vs cell selection
  • Programmatic selection
  • Getting selected records
  • Selection events
  • Selection appearance

When to read: Implementing selection functionality, programmatic record selection, or customizing selection behavior.

Column Management

📄 Read: references/column-management.md

  • Adding/removing columns programmatically
  • Column properties (Width, HeaderText, MappingName)
  • Column width and auto-sizing
  • Column visibility and VisibleColumns collection
  • Column reordering and drag-drop
  • Frozen columns
  • Unbound columns

When to read: Managing column visibility, configuring column properties, implementing frozen columns, or adding unbound columns.

Appearance and Styling

📄 Read: references/appearance-and-formatting.md

  • Cell styles and GridStyleInfo
  • Conditional formatting
  • Themes and visual styles
  • Row and column appearance
  • QueryCellStyleInfo event for dynamic styling
  • Appearance properties for different cell types
  • BackColor, ForeColor, Font customization

When to read: Customizing grid appearance, applying conditional formatting, implementing themes, or styling specific cells.

Cell Types and Customization

📄 Read: references/cell-types.md

  • Built-in cell types (TextBox, ComboBox, CheckBox, Image)
  • ComboBox cells with DataSource
  • CheckBox cells for boolean data
  • Image cells for displaying graphics
  • Custom cell types and renderers
  • Cell type configuration

When to read: Implementing dropdown lists, checkboxes, image cells, or creating custom cell renderers.

Grid Layout

📄 Read: references/grid-layout.md

  • Row and column sizing (auto-size, fit)
  • Stacked headers for grouped column headers
  • Covered ranges (merged cells)
  • Grid borders and lines
  • Layout customization and spacing

When to read: Configuring row heights, implementing stacked headers, merging cells, or customizing grid layout.

Navigation and Scrolling

📄 Read: references/navigation-and-scrolling.md

  • Navigation bar configuration
  • Scrolling options and behavior
  • Keyboard navigation
  • Current cell navigation
  • ScrollControlIntoView methods

When to read: Configuring navigation behavior, customizing keyboard shortcuts, or implementing programmatic navigation.

Clipboard Operations

📄 Read: references/clipboard-operations.md

  • Copy/paste operations
  • Clipboard formats (Text, CSV, HTML)
  • Cut operations
  • Clipboard customization
  • CopyPaste events

When to read: Implementing copy/paste functionality, customizing clipboard formats, or handling clipboard events.

Exporting Data

📄 Read: references/exporting.md

  • Excel export with ExcelExportingOptions
  • PDF export with PdfExportingOptions
  • CSV export
  • HTML export
  • Word export
  • Export options and customization

When to read: Implementing data export features, customizing export formats, or configuring export options.

Printing

📄 Read: references/printing.md

  • Print configuration and setup
  • Print preview
  • Print settings (margins, orientation, scaling)
  • Custom print layouts
  • PrintDocument integration

When to read: Implementing print functionality, customizing print layouts, or configuring print settings.

Performance Optimization

📄 Read: references/performance.md

  • Virtualization for large datasets
  • Handling millions of records
  • Performance optimization tips
  • Best practices for data binding
  • Memory management

When to read: Optimizing grid performance, handling large datasets, or troubleshooting performance issues.

Events Reference

📄 Read: references/events.md

  • Data-related events (QueryValue, SaveValue)
  • UI interaction events (CellClick, CellDoubleClick)
  • Grouping events (GroupExpanding, GroupExpanded)
  • Sorting events (SortedColumns.Changing/Changed)
  • Filtering events (RecordFilters.Changing/Changed)
  • Editing events (CurrentCellStartEditing, EditingComplete)
  • Complete event reference with examples

When to read: Handling grid events, implementing event-driven logic, or responding to user interactions.

Advanced Features

📄 Read: references/advanced-features.md

  • Expression fields for calculated columns
  • Data validation rules
  • Find and replace functionality
  • Serialization (Binary, SOAP, XML)
  • Touch support for tablets
  • Zooming capabilities

When to read: Implementing calculated columns, validation rules, find/replace, serialization, or touch support.

Troubleshooting

📄 Read: references/troubleshooting.md

  • Common issues and solutions
  • Performance troubleshooting
  • Data binding issues
  • UI rendering problems
  • Best practices and guidelines

When to read: Debugging issues, resolving errors, or optimizing implementation.

Quick Start Example

Here's a minimal example to get started with GridGroupingControl:

using Syncfusion.Windows.Forms.Grid.Grouping;
using System.Data;

// Create the control
GridGroupingControl gridGroupingControl1 = new GridGroupingControl();
gridGroupingControl1.Dock = DockStyle.Fill;
this.Controls.Add(gridGroupingControl1);

// Create sample data
DataTable dataTable = new DataTable("Employees");
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Department", typeof(string));
dataTable.Columns.Add("Salary", typeof(decimal));

dataTable.Rows.Add(1, "John Smith", "Sales", 50000);
dataTable.Rows.Add(2, "Sarah Jones", "Marketing", 55000);
dataTable.Rows.Add(3, "Mike Wilson", "Sales", 52000);
dataTable.Rows.Add(4, "Lisa Brown", "Marketing", 58000);
dataTable.Rows.Add(5, "Tom Davis", "IT", 65000);

// Bind data source
gridGroupingControl1.DataSource = dataTable;

// Enable grouping with GroupDropArea
gridGroupingControl1.ShowGroupDropArea = true;

// Add a group by Department
gridGroupingControl1.TableDescriptor.GroupedColumns.Add("Department");

// Add a summary to show total salary per group
GridSummaryColumnDescriptor summaryColumn = new GridSummaryColumnDescriptor();
summaryColumn.MappingName = "Salary";
summaryColumn.SummaryType = SummaryType.DoubleAggregate;
summaryColumn.Format = "{Sum:C}";
summaryColumn.Name = "TotalSalary";

GridSummaryRowDescriptor summaryRow = new GridSummaryRowDescriptor();
summaryRow.SummaryColumns.Add(summaryColumn);
gridGroupingControl1.TableDescriptor.SummaryRows.Add(summaryRow);

// Enable sorting
gridGroupingControl1.TableOptions.AllowSortColumns = true;

This creates a grouped grid with department grouping and salary summaries.

Common Patterns

Master-Detail Pattern with Nested Tables

// Assuming Orders and OrderDetails are related tables in a DataSet
DataSet dataSet = GetOrdersDataSet(); // Your data source

// Bind to parent table
gridGroupingControl1.DataSource = dataSet;
gridGroupingControl1.DataMember = "Orders";

// Nested tables are automatically detected from DataSet relations
// Customize child table appearance
GridRelationDescriptor relation = gridGroupingControl1.TableDescriptor.Relations[0];
relation.ChildTableDescriptor.Appearance.AlternateRecordFieldCell.BackColor = Color.LightBlue;

Dynamic Filtering Pattern

using Syncfusion.GridHelperClasses;

// Wire dynamic filter
GridDynamicFilter dynamicFilter = new GridDynamicFilter();
dynamicFilter.WireGrid(gridGroupingControl1);

// Enable filter bar
gridGroupingControl1.TopLevelGroupOptions.ShowFilterBar = true;

// Enable filtering for specific columns
foreach (GridColumnDescriptor column in gridGroupingControl1.TableDescriptor.Columns)
{
    column.AllowFilter = true;
}

Excel-Like Filtering Pattern

using Syncfusion.GridHelperClasses;

// Create and wire Excel filter
GridExcelFilter excelFilter = new GridExcelFilter();
excelFilter.AllowSearch = true; // Enable search in filter dropdown
excelFilter.AllowResize = true; // Allow resizing filter popup
excelFilter.EnableNumberFilter = true; // Enable number filters
excelFilter.EnableDateFilter = true; // Enable date filters
excelFilter.AllowFilterByColor = true; // Enable filter by cell color

excelFilter.WireGrid(gridGroupingControl1);

Programmatic Grouping Pattern

// Multi-level grouping
gridGroupingControl1.TableDescriptor.GroupedColumns.Add("Country");
gridGroupingControl1.TableDescriptor.GroupedColumns.Add("City");

// Customize group options
gridGroupingControl1.TopLevelGroupOptions.ShowCaption = true;
gridGroupingControl1.TopLevelGroupOptions.ShowGroupHeader = true;
gridGroupingControl1.TopLevelGroupOptions.ShowGroupFooter = true;

// Customize caption text with tokens
gridGroupingControl1.ChildGroupOptions.CaptionText =
    "{CategoryName}: {Category} ({RecordCount} items)";

Conditional Formatting Pattern

// Apply conditional formatting based on cell value
gridGroupingControl1.QueryCellStyleInfo += (sender, e) =>
{
    if (e.TableCellIdentity.TableCellType == GridTableCellType.RecordFieldCell)
    {
        if (e.TableCellIdentity.Column.Name == "Salary")
        {
            decimal salary = Convert.ToDecimal(e.Style.CellValue);
            if (salary > 60000)
            {
                e.Style.BackColor = Color.LightGreen;
                e.Style.Font.Bold = true;
            }
            else if (salary < 40000)
            {
                e.Style.BackColor = Color.LightCoral;
            }
        }
    }
};

Summary Pattern

// Add multiple summaries for a group
GridSummaryRowDescriptor summaryRow = new GridSummaryRowDescriptor();
summaryRow.ShowSummaryInRow = false; // Show in separate columns

// Count summary
GridSummaryColumnDescriptor countColumn = new GridSummaryColumnDescriptor(
    "Count", SummaryType.Count, "ID", "{Count}");
summaryRow.SummaryColumns.Add(countColumn);

// Average summary
GridSummaryColumnDescriptor avgColumn = new GridSummaryColumnDescriptor(
    "Average", SummaryType.DoubleAggregate, "Salary", "Avg: {Average:C}");
summaryRow.SummaryColumns.Add(avgColumn);

// Total summary
GridSummaryColumnDescriptor sumColumn = new GridSummaryColumnDescriptor(
    "Total", SummaryType.DoubleAggregate, "Salary", "Total: {Sum:C}");
summaryRow.SummaryColumns.Add(sumColumn);

gridGroupingControl1.TableDescriptor.SummaryRows.Add(summaryRow);

Key Properties

Core Properties

PropertyTypeDescription
DataSourceobjectGets or sets the data source for the grid
DataMemberstringGets or sets the data member within the data source
ShowGroupDropAreaboolShows or hides the group drop area for drag-drop grouping
TableDescriptorGridTableDescriptorProvides access to table configuration and columns
TableOptionsGridTableOptionsStyleInfoConfigures table-level options
TopLevelGroupOptionsGridGroupOptionsStyleInfoConfigures options for top-level groups
ChildGroupOptionsGridGroupOptionsStyleInfoConfigures options for child groups

Collection Properties

PropertyTypeDescription
TableDescriptor.GroupedColumnsSortColumnDescriptorCollectionColumns by which data is grouped
TableDescriptor.SortedColumnsSortColumnDescriptorCollectionColumns by which data is sorted
TableDescriptor.RecordFiltersRecordFilterDescriptorCollectionProgrammatic record filters
TableDescriptor.SummaryRowsGridSummaryRowDescriptorCollectionSummary row definitions
TableDescriptor.ColumnsGridColumnDescriptorCollectionColumn descriptors
TableDescriptor.RelationsGridRelationDescriptorCollectionChild table relations

Key Events

Data Events

  • QueryValue - Raised when grid needs to retrieve unbound cell values
  • SaveValue - Raised when grid needs to save unbound cell values
  • SourceListListChanged - Raised when bound data source changes

UI Events

  • QueryCellStyleInfo - Raised to customize cell appearance dynamically
  • TableControlCellClick - Raised when a cell is clicked
  • TableControlCellDoubleClick - Raised when a cell is double-clicked
  • TableControlCurrentCellActivated - Raised when a cell becomes current

Grouping Events

  • GroupExpanding / GroupExpanded - Raised when groups expand
  • GroupCollapsing / GroupCollapsed - Raised when groups collapse
  • GroupedColumns.Changing / Changed - Raised when grouping changes

Sorting Events

  • SortedColumns.Changing / Changed - Raised when sorting changes
  • TableControlQueryAllowSortColumn - Raised to control column sorting

Filtering Events

  • RecordFilters.Changing / Changed - Raised when filters change
  • GridExcelFilter.RecordFiltersItemChanging / Changed - Excel filter events

Editing Events

  • TableControlCurrentCellStartEditing - Raised when cell editing begins
  • TableControlCurrentCellEditingComplete - Raised when cell editing completes
  • TableControlCurrentCellValidating - Raised to validate cell values

Common Use Cases

Business Intelligence Dashboards

Display complex data with multi-level grouping, drill-down capabilities, and aggregate summaries for business analytics and reporting.

Data Management Applications

Build CRUD applications with master-detail forms, inline editing, validation, and advanced filtering for data management.

Hierarchical Data Visualization

Display organizational structures, product categories, or any hierarchical data with nested groups and expandable sections.

Reporting Applications

Generate rich reports with grouping, summaries, conditional formatting, and export to multiple formats (Excel, PDF, Word).

Data Analysis Tools

Implement interactive data exploration with dynamic grouping, sorting, filtering, and summary calculations.

Architecture Notes

Engine Architecture

GridGroupingControl uses a unique engine-based architecture that separates data management (Engine) from display (TableControl). This enables:

  • Multiple views of the same data
  • Efficient data virtualization
  • Flexible grouping and sorting
  • Independent nested table handling

Display Elements

The grid organizes content into display elements:

  • Records - Individual data rows
  • Groups - Collections of records with matching category values
  • CaptionRows - Group header rows
  • SummaryRows - Aggregate summary rows
  • FilterBarCell - Filter input cells

Table Hierarchy

  • GridTable - Top-level table instance
  • GridNestedTable - Child table in master-detail relationship
  • TopLevelGroup - Root group containing all records
  • Groups - Nested group collections

Best Practices

  1. Data Binding: Use strongly-typed collections implementing IBindingList for automatic change notifications
  2. Performance: Enable virtualization for large datasets (handled automatically)
  3. Grouping: Limit initial grouping levels to 2-3 for better user experience
  4. Filtering: Use GridExcelFilter for user-friendly filtering experience
  5. Summaries: Place summaries strategically in captions or footers based on use case
  6. Styling: Use QueryCellStyleInfo for dynamic styling instead of setting styles for all cells
  7. Events: Minimize work in frequently-fired events like QueryCellStyleInfo
  8. Memory: Dispose of GridGroupingControl properly when form closes

Related Components

  • GridControl - Standard non-grouping grid for simpler scenarios
  • GridDataBoundGrid - Lightweight data-bound grid
  • DataGrid - Standard.NET DataGrid control

Use GridGroupingControl when you need grouping, summaries, and hierarchical features. Use simpler grids for basic data display.

Documentation Links


Next Steps: For detailed implementation guidance, navigate to the specific reference files above based on your requirements. Start with getting-started.md for initial setup.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

35.83%
按下载量换算96

Claude

31.18%
按下载量换算84

Cursor

17.69%
按下载量换算48

Gemini CLI

9.76%
按下载量换算26

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

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

安装前确认

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

来源信息

继续浏览同类 Skills