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

syncfusion-winui-datagridSynfusion WinUI 数据网格

Agent Skill

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

总安装

630

周安装

26

GitHub Stars

公开资料未说明

下载量

206
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

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

简介

用于辅助数据整理、表格处理和指标计算。

  • 适合清洗字段、汇总数据、发现异常或生成统计口径。
  • 使用时需确认数据来源和时间范围,避免误将样本当作全量事实。
  • 涉及敏感数据或批量写回时应先确认权限和脱敏边界。
  • syncfusion-winui-datagrid 属于待分类类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Implementing WinUI DataGrid (SfDataGrid)

Comprehensive guide for implementing the Syncfusion WinUI DataGrid control. SfDataGrid is a high-performance, feature-rich control for displaying and manipulating tabular data in WinUI 3 applications with support for sorting, filtering, grouping, editing, summaries, and more.

When to Use This Skill

Use this skill when you need to:

  • Display tabular data with 100 to 1,000,000+ rows in WinUI applications
  • Implement sortable, filterable, and groupable data views
  • Enable inline editing with validation for data entry scenarios
  • Perform CRUD (Create, Read, Update, Delete) operations on datasets
  • Export data to Excel format
  • Display hierarchical data with master-details views
  • Implement drag-and-drop row reordering
  • Show data summaries and aggregations (sum, average, count, etc.)
  • Handle real-time data updates with ObservableCollection
  • Create data-centric enterprise Windows desktop applications

Important Note: In WinUI 3, DataContext is not directly inherited from Window. You must explicitly set DataContext on the Grid or Page element in XAML (e.g., <Grid DataContext="{x:Bind ViewModel}">) for data binding to work properly.

DataGrid Overview

SfDataGrid (Syncfusion.UI.Xaml.DataGrid.SfDataGrid) is the primary grid control for WinUI 3, offering:

  • High Performance: UI and data virtualization for millions of rows
  • Rich Data Operations: Sorting, filtering, grouping with multi-level support
  • Editing: Cell/row/batch editing modes with validation
  • Summaries: Table, group, and caption summaries with custom aggregates
  • Selection: Single/multiple row or cell selection
  • Styling: Conditional formatting and custom templates
  • Export: Excel export with styling
  • Advanced Features: Unbound rows, master-details, frozen columns

Required Packages:

  • Main Package: Syncfusion.Grid.WinUI (DataGrid control)
  • Export Package: Syncfusion.GridExport.WinUI (Excel export functionality)
  • Excel Engine: Syncfusion.XlsIO.NET (Required for export operations)

Namespace: Syncfusion.UI.Xaml.DataGrid

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Data binding fundamentals (IEnumerable, ObservableCollection, dynamic objects)
  • ItemsSource configuration and INotifyCollectionChanged
  • Complex property binding (nested objects)
  • Basic XAML setup and first implementation
  • Package installation and namespace registration

Column Management

📄 Read: references/columns.md

  • Column types (GridTextColumn, GridNumericColumn, GridCheckBoxColumn, GridComboBoxColumn, etc.)
  • Auto-generate vs manual column definition
  • Column width modes (Auto, Star, None, Fill, AutoLastColumnFill)
  • Column sizing, autosize, and resizing
  • Show/hide columns and column visibility
  • Column reordering and freeze columns

Data Operations (Sorting, Filtering, Grouping)

📄 Read: references/data-operations.md

  • Sorting: Single and multi-column sorting, custom sorting, tri-state sorting
  • Filtering: Programmatic filters, view predicates, column filters, filter row
  • Grouping: Single and multi-level grouping, custom grouping, expand/collapse
  • Group summaries and filter row configuration

Editing and Data Validation

📄 Read: references/editing-validation.md

  • Editing modes: Cell, row, and batch editing
  • Edit triggers (single click, double click, F2 key)
  • Data validation rules and error handling
  • CRUD operations: Add, update, delete rows
  • Commit and cancel changes
  • CurrentCell navigation

Selection

📄 Read: references/selection.md

  • Selection modes: Single, Multiple, Extended, None
  • Selection units: Row and Cell
  • SelectedItem, SelectedItems, SelectedIndex binding
  • Programmatic selection and SelectionChanged events
  • Select all rows, select ranges

Summaries and Aggregations

📄 Read: references/summaries.md

  • Table summaries (displayed in footer)
  • Group summaries (per group)
  • Caption summaries (in group headers)
  • Built-in aggregates (Sum, Average, Count, Min, Max)
  • Custom summary calculations
  • Summary row positioning

Conditional Styling

📄 Read: references/conditional-styling.md

  • Row styling based on data conditions
  • Cell styling and custom templates
  • Style selectors for dynamic styling
  • Visual states and data templates
  • Alternating row colors

Advanced Row Features

📄 Read: references/row-features.md

  • Row drag and drop for reordering
  • Unbound rows (above and below data rows)
  • Master-details view for hierarchical data
  • Row height customization
  • Details view templates and nested grids

Data Virtualization

📄 Read: references/virtualization.md

  • Data virtualization for large datasets
  • UI virtualization (enabled by default)
  • Virtual mode configuration
  • Performance optimization techniques
  • Handling 100,000+ rows efficiently

Export to Excel

📄 Read: references/export.md

  • Export entire grid to Excel (.xlsx)
  • Export options and customization
  • Export selected rows only
  • Export with styling and formatting
  • Custom export logic

Quick Start Example

Basic Implementation

<!-- MainPage.xaml -->
<Page xmlns:dataGrid="using:Syncfusion.UI.Xaml.DataGrid">

    <Grid>
        <dataGrid:SfDataGrid x:Name="sfDataGrid"
                             ItemsSource="{Binding Orders}"
                             AutoGenerateColumns="True"
                             AllowSorting="True"
                             AllowFiltering="True"
                             AllowEditing="True"
                             SelectionMode="Single" />
    </Grid>
</Page>
// MainPage.xaml.cs
using Microsoft.UI.Xaml.Controls;
using System.Collections.ObjectModel;

public sealed partial class MainPage : Page
{
    public ObservableCollection<Order> Orders { get; set; }

    public MainPage()
    {
        this.InitializeComponent();

        Orders = new ObservableCollection<Order>
        {
            new Order { OrderID = 1001, CustomerName = "Maria Anders", Country = "Germany", Total = 250.50M },
            new Order { OrderID = 1002, CustomerName = "Ana Trujillo", Country = "Mexico", Total = 180.00M },
            new Order { OrderID = 1003, CustomerName = "Antonio Moreno", Country = "Mexico", Total = 420.75M }
        };

        sfDataGrid.ItemsSource = Orders;
    }
}

// Order Model
public class Order
{
    public int OrderID { get; set; }
    public string CustomerName { get; set; }
    public string Country { get; set; }
    public decimal Total { get; set; }
}

Common Patterns

Pattern 1: Manual Column Definition

<dataGrid:SfDataGrid x:Name="sfDataGrid"
                     AutoGenerateColumns="False"
                     ItemsSource="{Binding Orders}">
    <dataGrid:SfDataGrid.Columns>
        <dataGrid:GridTextColumn MappingName="OrderID"
                                 HeaderText="Order ID"
                                 Width="120" />
        <dataGrid:GridTextColumn MappingName="CustomerName"
                                 HeaderText="Customer"
                                 Width="200" />
        <dataGrid:GridTextColumn MappingName="Country"
                                 Width="150" />
        <dataGrid:GridNumericColumn MappingName="Total"
                                    HeaderText="Total Amount"
                                    Width="150" />
    </dataGrid:SfDataGrid.Columns>
</dataGrid:SfDataGrid>

Pattern 2: Enable Sorting and Filtering

<dataGrid:SfDataGrid x:Name="sfDataGrid"
                     ItemsSource="{Binding Orders}"
                     AllowSorting="True"
                     AllowFiltering="True"
                     FilterRowPosition="FixedTop"
                     AllowTriStateSorting="True" />

Pattern 3: Enable Grouping

<dataGrid:SfDataGrid x:Name="sfDataGrid"
                     ItemsSource="{Binding Orders}"
                     AllowGrouping="True"
                     ShowGroupDropArea="True" />
// Programmatic grouping
sfDataGrid.GroupColumnDescriptions.Add(new GroupColumnDescription { ColumnName = "Country" });

Pattern 4: Enable Editing

<dataGrid:SfDataGrid x:Name="sfDataGrid"
                     ItemsSource="{Binding Orders}"
                     AllowEditing="True"
                     EditTrigger="OnDoubleTap"
                     NavigationMode="Cell" />

Pattern 5: Add Summaries

<dataGrid:SfDataGrid x:Name="sfDataGrid"
                     ItemsSource="{Binding Orders}"
                     ShowRowHeader="True">
    <dataGrid:SfDataGrid.TableSummaryRows>
        <dataGrid:GridTableSummaryRow ShowSummaryInRow="False">
            <dataGrid:GridTableSummaryRow.SummaryColumns>
                <dataGrid:GridSummaryColumn Name="TotalSum"
                                            MappingName="Total"
                                            SummaryType="DoubleAggregate"
                                            Format="'Total: {Sum:C}'" />
                <dataGrid:GridSummaryColumn Name="OrderCount"
                                            MappingName="OrderID"
                                            SummaryType="CountAggregate"
                                            Format="'Count: {Count}'" />
            </dataGrid:GridTableSummaryRow.SummaryColumns>
        </dataGrid:GridTableSummaryRow>
    </dataGrid:SfDataGrid.TableSummaryRows>
</dataGrid:SfDataGrid>

Key Properties

PropertyTypeDescription
ItemsSourceobjectData source for the grid (IEnumerable)
AutoGenerateColumnsboolAuto-create columns from data source properties
ColumnsColumnsCollection of manually defined columns
AllowSortingboolEnable/disable sorting (default: false)
AllowFilteringboolEnable/disable filtering (default: false)
AllowGroupingboolEnable/disable grouping (default: false)
AllowEditingboolEnable/disable editing (default: false)
SelectionModeGridSelectionModeSingle, Multiple, Extended, None
SelectionUnitGridSelectionUnitRow or Cell
NavigationModeNavigationModeCell or Row navigation
ColumnWidthModeColumnWidthModeNone, Star, Auto, SizeToCells, SizeToHeader, AutoLastColumnFill, AutoWithLastColumnFill
ShowGroupDropAreaboolShow drag-and-drop area for grouping
FilterRowPositionFilterRowPositionFixedTop, Top, Bottom

Common Use Cases

Enterprise Data Entry Application

  • Enable editing, validation, and CRUD operations
  • Use batch editing mode for efficiency
  • Implement SelectedItems binding for bulk operations
  • Add table summaries for data insights

Data Analysis Dashboard

  • Enable sorting, filtering, and grouping
  • Add summaries at table and group levels
  • Use conditional styling to highlight key data
  • Implement export to Excel for reporting

Master-Details Data Viewer

  • Configure DetailsViewDefinition for nested data
  • Use hierarchical data binding
  • Enable expand/collapse for details
  • Style master and details rows differently

Large Dataset Browser (100K+ rows)

  • Enable data virtualization
  • Disable features not needed (grouping, summaries)
  • Use frozen columns for important data
  • Implement incremental loading

Transaction Management System

  • Enable row drag-and-drop for prioritization
  • Use unbound rows for totals and summary info
  • Implement real-time updates with ObservableCollection
  • Add validation rules for data integrity

Integration with MVVM

// ViewModel
public class OrderViewModel : INotifyPropertyChanged
{
    private ObservableCollection<Order> orders;
    private Order selectedOrder;

    public ObservableCollection<Order> Orders
    {
        get => orders;
        set { orders = value; OnPropertyChanged(); }
    }

    public Order SelectedOrder
    {
        get => selectedOrder;
        set { selectedOrder = value; OnPropertyChanged(); }
    }

    public ICommand DeleteCommand { get; }
    public ICommand ExportCommand { get; }
}
<!-- View -->
<dataGrid:SfDataGrid ItemsSource="{Binding Orders}"
                     SelectedItem="{Binding SelectedOrder, Mode=TwoWay}" />

Performance Tips

  1. Use ObservableCollection for automatic UI updates instead of List
  2. Set AutoGenerateColumns="False" and define columns manually when possible
  3. Enable virtualization (enabled by default, don't disable unless needed)
  4. Freeze essential columns to improve horizontal scrolling performance
  5. Use ColumnWidthMode="None" for static column widths when data size is known
  6. Limit grouping levels to 2-3 for better performance
  7. Use filtering instead of grouping for very large datasets (100K+)
  8. Dispose the grid in Page.Unloaded event

Troubleshooting

Data not displaying:

  • Verify ItemsSource is bound correctly
  • Check properties have public getters
  • Ensure DataContext is set if using binding

Editing not working:

  • Set AllowEditing="True"
  • Set NavigationMode="Cell"
  • Verify column has AllowEditing="True" (inherited from grid if not set)

Poor performance with large datasets:

  • Verify virtualization is enabled (default)
  • Reduce number of columns
  • Use ColumnWidthMode="None" instead of Auto
  • Consider data pagination for 500K+ rows

Sorting/Filtering not working:

  • Set AllowSorting="True" and/or AllowFiltering="True"
  • Verify data source implements IEnumerable
  • Check if column has these disabled individually

Related Components

  • TreeGrid: For hierarchical tree data
  • PivotGrid: For OLAP and pivot table scenarios
  • PropertyGrid: For editing object properties

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

34.66%
按下载量换算71

Claude

29.29%
按下载量换算60

Cursor

20.47%
按下载量换算42

Gemini CLI

9.59%
按下载量换算20

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

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

安装前确认

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

来源信息

继续浏览同类 Skills