mcpField
S
syncfusion-maui-datagrid

syncfusion-maui-datagrid

github.com/syncfusion开发61214 次安装2 周前更新
代码仓库

关于 syncfusion-maui-datagrid

面向 .NET MAUI 开发者的 Syncfusion SfDataGrid 实现技能,用于在应用中展示和操作表格数据。内容覆盖编辑、排序、筛选、分页、导出及大数据集处理。

主要功能

  1. 01绑定多种数据源并配置列
  2. 02单元格编辑与数据验证
  3. 03排序、筛选、搜索和分组
  4. 04分页、虚拟化与增量加载
  5. 05导出 Excel 和 PDF

适用场景

  1. 01在 .NET MAUI 应用中构建数据表格
  2. 02编辑并验证表格中的数据
  3. 03筛选、分组并汇总记录
  4. 04将网格数据导出为 Excel 或 PDF

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/maui-ui-components-skills --skill syncfusion-maui-datagrid

安装后在 Claude Code 中输入/syncfusion-maui-datagrid确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
advanced-features.md
column-operations.md
columns.md
data-validation.md
editing.md
exporting.md
getting-started.md
grouping-summaries.md
localization.md
multi-row-view.md
paging-virtualization.md
performance-events.md
row-operations.md
searching.md
selection.md
sorting-filtering.md
styling-customization.md

详细介绍

实现 .NET MAUI DataGrid

全面介绍如何实现和自定义 Syncfusion .NET MAUI DataGrid(SfDataGrid)控件。本 DataGrid 以表格形式显示和处理数据,并支持列、编辑、排序、筛选、分组、汇总、分页和导出等功能。

何时使用此技能

在以下情况下使用此技能:

  • 在 .NET MAUI 应用程序中显示表格数据
  • 将数据源(IEnumerable、ObservableCollection、DataTable)绑定到网格
  • 配置列(自动生成或手动定义)
  • 实现单元格编辑和验证
  • 添加排序、筛选或搜索功能
  • 对数据分组并显示汇总/聚合结果
  • 实现分页或增量加载
  • 启用行操作(拖放、滑动、添加/删除)
  • 将网格数据导出到 Excel 或 PDF
  • 自定义网格外观和行为
  • 优化大型数据集的性能
  • 实现主从视图或自定义行模板

组件概述

SfDataGrid 是一款适用于 .NET MAUI 的高性能数据网格控件,提供以下功能:

核心功能:

  • 多种数据绑定选项(IEnumerable、DataTable、动态对象)
  • 自动生成或手动定义列
  • 8 种以上列类型(Text、Numeric、Date、Checkbox、Image、ComboBox、Picker、Template)
  • 支持验证的单元格内编辑
  • 多列排序和筛选
  • 可交互的分组和汇总
  • 选择模式(Single、Multiple、None)
  • 分页和数据虚拟化
  • Excel 和 PDF 导出
  • 高级视图(主从视图、记录模板)

NuGet 包: Syncfusion.Maui.DataGrid

文档和导航指南

入门和数据绑定

📄 阅读: references/getting-started.md

  • 安装和 NuGet 包设置
  • 在 MauiProgram.cs 中注册处理程序
  • 基本 DataGrid 实现(XAML 和 C#)
  • 创建数据模型和 ViewModel
  • 使用 IEnumerable 和 ObservableCollection 进行绑定
  • 使用 DataTable 和动态对象进行绑定
  • 初始配置和入门步骤
列和列配置

📄 阅读: references/columns.md

  • 自动生成列(AutoGenerateColumnsMode)
  • 手动定义列
  • 列类型(Text、Numeric、Date、Checkbox、Image、ComboBox、Picker、Template、TimePicker、Percent、Currency、CheckBoxSelector)
  • 列属性(MappingName、HeaderText、Format、Width)
  • Numeric 列的小数位数和最大位数(NumberDecimalDigits)
  • 列大小调整和宽度选项
  • 列可见性和顺序
  • AutoGenerateColumnsMode 选项(None、Reset、ResetAll、RetainOld)
列操作

📄 阅读: references/column-operations.md

  • 调整列大小(手动和自动适配,以及 OnMoved 与 OnTouchUp 模式)
  • 拖放列(重新排序)
  • 堆叠表头(多级列标题)
  • 非绑定列(计算列/表达式列)
  • 冻结窗格(冻结列)
  • 悬停时突出显示列(AllowColumnHoverHighlighting)
  • 悬停时突出显示表头单元格(AllowHeaderCellHoverHighlighting)
  • 列自定义和事件
单元格编辑

📄 阅读: references/editing.md

  • 启用编辑(AllowEditing、NavigationMode、SelectionMode)
  • 控制列级编辑
  • 编辑模式和触发方式(EditTapAction、LostFocusBehavior)
  • 编辑器选择行为(SelectAll、MoveLast)
  • 单元格编辑事件(BeginEdit、EndEdit、CellValueChanged)
  • 以编程方式编辑
  • 编辑期间使用 Enter 键和 Tab 键导航
  • 撤销和重做功能(AllowUndoRedo、MaxUndoRedoActions、UndoRedoController)
数据验证

📄 阅读: references/data-validation.md

  • 单元格值验证
  • 行级验证
  • 自定义验证逻辑
  • 验证事件
  • 错误处理和显示
  • IDataErrorInfo 支持
排序与筛选

📄 阅读: references/sorting-filtering.md

  • 单列和多列排序
  • 自定义排序逻辑
  • 以编程方式排序
  • 排序图标和 UI 自定义
  • 筛选基础知识和筛选类型
  • FilterPopupStyle 和 FilteringPopupDisplayStyle(全屏或弹出式)
  • 筛选行实现
  • 以编程方式筛选
  • 自定义筛选谓词
搜索

📄 阅读: references/searching.md

  • 搜索功能设置
  • 文本搜索和高亮
  • 大小写敏感选项
  • 搜索导航(下一个/上一个)
  • 以编程方式控制搜索
  • 内置搜索 UI
分组与汇总

📄 阅读: references/grouping-summaries.md

  • 数据分组(单列和多列)
  • 分组展开/折叠行为
  • 自定义分组逻辑
  • 自定义分组标题
  • 自定义分组行高
  • 汇总行(表、分组、标题汇总)
  • 内置聚合函数(Sum、Average、Count、Min、Max)
  • 自定义汇总计算
  • 汇总显示格式
选择与导航

📄 阅读: references/selection.md

  • 选择模式(Single、Multiple、SingleDeselect、None)
  • 行和单元格选择
  • 选择事件(SelectionChanging、SelectionChanged)
  • 以编程方式选择
  • 以编程方式导航(MoveToNextCell、MoveToPreviousCell、MoveToNextRow、MoveToPreviousRow)
  • 当前单元格与选中项
  • 键盘导航(Windows 平台)
分页与数据虚拟化

📄 阅读: references/paging-virtualization.md

  • 与独立的 SfDataPager 集成分页(单独的 Syncfusion.Maui.DataPager 包)
  • DataGrid + DataPager 绑定模式(Source → PagedSource → ItemsSource)
  • 页面大小、页数和以编程方式进行页面导航
  • 使用 UseOnDemandPaging 和 OnDemandLoading 按需分页
  • 加载更多(增量加载)
  • 下拉刷新
  • 用于提升性能的数据虚拟化
  • 处理大型数据集
  • 滚动到行和列
  • 滚动方向(ScrollOrientation:Both、Vertical、Horizontal、Neither)
  • 收缩适配行和列(ShrinkWrapRows、ShrinkWrapColumns)

注意: SfDataPager 控件作为单独的 NuGet 包(Syncfusion.Maui.DataPager)提供,并有专属技能(syncfusion-maui-datapager)。有关完整的分页器配置——按钮形状、大小、显示模式、省略号、方向、DataPagerStyle 以及 PageChanging/PageChanged 事件——请参阅 syncfusion-maui-datapager 技能。本 DataGrid 技能涵盖 DataGrid↔DataPager 集成以及 DataGrid 专属的数据加载功能(加载更多、下拉刷新、虚拟化、滚动)。

行操作

📄 阅读: references/row-operations.md

  • 自定义行高
  • 自动行高(QueryRowHeight 事件)
  • 行拖放(单行和多行)
  • 行拖动动画(AllowDraggingRowAnimation)
  • 行大小调整(OnMoved 与 OnTouchUp 模式、AllowResizingRows)
  • 行滑动操作
  • 以编程方式添加新行
  • 删除行
  • 非绑定行(顶部/底部的附加汇总行)
  • 行级事件
导出与剪贴板

📄 阅读: references/exporting.md

  • 导出到 Excel
  • Excel 导出自定义(列、行、样式)
  • Excel 导出选项和事件
  • 导出到 PDF
  • PDF 导出自定义
  • 剪贴板操作(复制/粘贴)
  • 自定义剪贴板格式
高级功能与视图

📄 阅读: references/advanced-features.md

  • 主从视图(分层/关系型数据)
  • 记录模板视图(自定义行布局)
  • 空视图自定义
  • 上下文菜单实现(支持分隔符)
  • 动态加载上下文菜单(ContextMenuOpening 事件)
  • 单元格工具提示(支持自定义延迟,TooltipDelay)
  • 合并单元格
  • 序列化(保存/加载网格状态)
  • 按数据进行条件样式设置
多行列布局

📄 阅读: references/multi-row-view.md

  • 将一条记录显示为多行(MultiRowViewDefinition)
  • RowsCount 和 ColumnsCount 布局配置
  • 列定位(Row、Column、RowSpan、ColumnSpan)
  • 适用于包含许多字段的记录的卡片式布局
  • 多行视图的限制
样式与自定义

📄 阅读: references/styling-customization.md

  • 网格样式基础
  • 单元格样式(CellStyle)
  • 条件单元格样式
  • 行样式和交替行颜色
  • 标题样式
  • 主题自定义
  • 自定义单元格模板
  • 液态玻璃效果
性能与事件

📄 阅读: references/performance-events.md

  • 性能优化技巧
  • 大型数据集最佳实践
  • 内存管理策略
  • 网格事件概览
  • 常见事件场景
  • 事件处理模式
  • 性能监控
本地化

📄 阅读: references/localization.md

  • 本地化设置
  • 多语言支持
  • RTL(从右到左)支持
  • 滚动模式与优化

评论

支持 Markdown