关于 syncfusion-winforms-record-navigation-control
此技能介绍如何在 Windows Forms 应用中实现 Syncfusion 的 GridRecordNavigationControl,面向需要为网格界面添加记录浏览功能的开发者,并涵盖导航、样式和分组网格集成。
主要功能
- 01支持首条、末条、上一条和下一条导航
- 02显示当前记录和总数
- 03提供 Default、Metro 和 Office2016 样式
- 04支持本地化导航标签和文本
- 05集成 GridGroupingControl
适用场景
- 01在数据库查看器中浏览记录
- 02在编辑器中切换记录
- 03浏览大型网格数据集
- 04浏览分组记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ winforms-ui-components-skills --skill syncfusion-winforms-record-navigation-control安装后在 Claude Code 中输入/syncfusion-winforms-record-navigation-control确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/getting-started.mdgridgrouping-integration.mdnavigation-methods.mdstyling.md详细介绍
实现网格记录导航控件
本指南全面介绍如何在 Windows Forms 应用程序中实现 Syncfusion GridRecordNavigationControl。此控件为网格控件提供类似 Microsoft Access 的导航栏,方便用户浏览记录。
何时使用此技能
在需要以下功能时使用 GridRecordNavigationControl:
- 添加导航控件以浏览网格记录
- 实现类似 Microsoft Access 的记录导航界面
- 提供首条、末条、上一条和下一条导航功能
- 浏览 GridControl 或 GridDataBoundGrid 中的大型数据集
- 将导航栏与 GridGroupingControl 集成
- 创建具有直观记录浏览功能的数据驱动型应用程序
- 向用户显示记录总数和当前位置
组件概述
GridRecordNavigationControl 允许用户通过位于网格底部的导航栏浏览记录。它内置了导航到首条、末条、上一条和下一条记录的功能,并采用了用户熟悉的 Microsoft Access 样式界面。
主要功能:
- 内置导航方法 - MoveFirst、MoveLast、MoveNext、MovePrevious
- 本地化支持 - 自定义导航栏文本和标签
- 视觉样式 - Default、Metro、Office2016 主题
- GridGroupingControl 集成 - 使用 ShowNavigationBar 属性轻松集成
- 编程控制 - 通过代码动态浏览记录
- 记录显示 - 显示当前记录和记录总数
文档和导航指南
入门和设置
📄 阅读: references/getting-started.md
- 程序集部署要求(Syncfusion.Grid.Windows、Syncfusion.Shared.Base)
- 通过 Visual Studio Designer 创建 GridRecordNavigationControl
- 通过代码以编程方式创建 GridRecordNavigationControl
- 添加子网格控件(GridControl、GridDataBoundGrid)
- 基本配置和初始化
- C# 和 VB.NET 完整设置示例
导航方法和功能
📄 阅读: references/navigation-methods.md
- MoveFirst() - 导航到首条记录
- MoveLast() - 导航到末条记录
- MoveNext() - 导航到下一条记录
- MovePrevious() - 导航到上一条记录
- 大型数据集的使用场景
- 编程导航示例
- 含代码示例的导航方法参考
样式和主题
📄 阅读: references/styling.md
- 视觉样式:Default、Metro、Office2016
- Style 属性配置
- Office2016 配色方案(Black、Colorful、DarkGray、White)
- GridOfficeScrollBars 集成
- 带截图的主题示例
- 外观自定义
GridGroupingControl 集成
📄 阅读: references/gridgrouping-integration.md
- GridGroupingControl 的 ShowNavigationBar 属性
- RecordNavigationBar 属性访问
- 内置导航支持集成
- 为分组数据启用导航栏
- 完整集成示例
- 在分组网格中导航记录
快速入门示例
通过设计器创建(推荐)
// Step 1: Drag GridRecordNavigationControl from toolbox to form
// Step 2: Position and size the control
// Step 3: Drag GridDataBoundGrid into the GridRecordNavigationControl
// Step 4: Set GridDataBoundGrid.DataSource property
// Designer generates this code:
this.recordNavigationControl1 = new Syncfusion.Windows.Forms.Grid.GridRecordNavigationControl();
this.gridDataBoundGrid1 = new Syncfusion.Windows.Forms.Grid.GridDataBoundGrid();
this.recordNavigationControl1.Controls.Add(this.gridDataBoundGrid1);
this.gridDataBoundGrid1.DataSource = myDataSource;
通过代码创建
using Syncfusion.Windows.Forms.Grid;
using System.Drawing;
// Create GridRecordNavigationControl
this.recordNavigationControl1 = new GridRecordNavigationControl();
this.recordNavigationControl1.Location = new Point(32, 48);
this.recordNavigationControl1.Size = new Size(520, 256);
this.recordNavigationControl1.MaxRecord = 1000;
this.recordNavigationControl1.MaxLabel = "of 1000";
this.recordNavigationControl1.NavigationBarWidth = 237;
// Create child grid
this.gridControl1 = new GridControl();
this.gridControl1.RowCount = 1000;
this.gridControl1.ColCount = 16;
this.gridControl1.NumberedRowHeaders = false;
// Add grid to navigation control
this.recordNavigationControl1.Controls.Add(this.gridControl1);
// Add to form
this.Controls.Add(this.recordNavigationControl1);
常见模式
模式 1:带导航功能的数据绑定网格
using Syncfusion.Windows.Forms.Grid;
using System.Data;
// Create navigation control
var navControl = new GridRecordNavigationControl();
navControl.Location = new Point(20, 20);
navControl.Size = new Size(600, 400);
// Create data-bound grid
var dataGrid = new GridDataBoundGrid();
dataGrid.DataSource = GetDataTable(); // Your data source
// Add grid to navigation control
navControl.Controls.Add(dataGrid);
// Configure navigation
navControl.MaxRecord = dataGrid.Model.RowCount;
navControl.MaxLabel = $"of {dataGrid.Model.RowCount}";
this.Controls.Add(navControl);
模式 2:编程导航
private RecordNavigationControl recordNavigationControl;
// Navigate to first record
this.recordNavigationControl.NavigationBar.MoveFirst();
// Navigate to last record
this.recordNavigationControl.NavigationBar.MoveLast();
// Navigate to next record
this.recordNavigationControl.NavigationBar.MoveNext();
// Navigate to previous record
this.recordNavigationControl.NavigationBar.MovePrevious();
模式 3:带样式的导航控件
using Syncfusion.Windows.Forms;
// Apply Metro theme
this.recordNavigationControl1.Style = Appearance.Metro;
// Apply Office2016 theme with Black color scheme
this.recordNavigationControl1.Style = Appearance.Office2016;
this.recordNavigationControl1.GridOfficeScrollBars = OfficeScrollBars.Office2016;
this.recordNavigationControl1.Office2016ScrollBarsColorScheme =
ScrollBarOffice2016ColorScheme.Black;
模式 4:带导航功能的 GridGroupingControl
using Syncfusion.Windows.Forms.Grid.Grouping;
// Enable navigation bar on GridGroupingControl
this.gridGroupingControl1.ShowNavigationBar = true;
// Access navigation methods through RecordNavigationBar property
this.gridGroupingControl1.RecordNavigationBar.MoveFirst();
this.gridGroupingControl1.RecordNavigationBar.MoveNext();
主要属性
| 属性 | 类型 | 说明 |
|---|---|---|
MaxRecord | int | 数据集中的记录总数 |
MaxLabel | string | 显示记录总数的标签(例如,“共 1000 条”) |
NavigationBarWidth | int | 导航栏的宽度,单位为像素 |
SplitBars | DynamicSplitBars | 分隔栏配置(None、Both、Horizontal、Vertical) |
Style | Appearance | 视觉样式(Default、Metro、Office2016) |
Office2016ScrollBarsColorScheme | ScrollBarOffice2016ColorScheme | Office2016 配色方案 |
GridOfficeScrollBars | OfficeScrollBars | Office 滚动条样式 |
ShowNavigationBar | bool | (GridGroupingControl)显示/隐藏导航栏 |
主要方法
| 方法 | 说明 |
|---|---|
MoveFirst() | 导航到第一条记录 |
MoveLast() | 导航到最后一条记录 |
MoveNext() | 导航到下一条记录 |
MovePrevious() | 导航到上一条记录 |
常见用例
用例 1:数据库查看器应用程序
创建一个数据查看器,让用户可以逐条浏览数据库记录,类似于 Microsoft Access 窗体。
用例 2:记录编辑器
构建一个编辑器界面,让用户在编辑数据时可以在记录之间导航,并清楚地显示当前位置。
用例 3:大型数据集导航
支持在大型数据集(1000 条以上记录)中高效导航,而无需一次性加载所有记录。
用例 4:分组数据导航
在 GridGroupingControl 中浏览分组记录,同时保留分组结构。
必需程序集
若要使用 GridRecordNavigationControl,请添加以下程序集引用:
- Syncfusion.Grid.Windows.dll - 核心网格功能和导航控件
- Syncfusion.Shared.Base.dll - 共享样式、编辑器和基础组件
实现检查清单
- 添加必需的程序集引用
- 创建 GridRecordNavigationControl(使用设计器或代码)
- 添加子网格控件(GridControl 或 GridDataBoundGrid)
- 配置 MaxRecord 和 MaxLabel 属性
- 如果使用数据绑定网格,请设置数据源
- 应用视觉样式/主题(可选)
- 测试导航方法(第一条、最后一条、下一条、上一条)
- 处理任何自定义导航事件(可选)
最佳实践
- 优先使用设计器:使用 Visual Studio 设计器进行初始设置,它会生成正确的初始化代码
- 放置顺序:使用设计器时,先放置导航控件,再将网格放入导航控件内(而非放到窗体上)
- 设置 MaxRecord:始终将 MaxRecord 属性设置为与数据集大小一致,以确保导航准确
- 更新 MaxLabel:使 MaxLabel 与数据更改保持同步
- 主题一致性:在应用程序的所有 Syncfusion 控件中应用相同的视觉样式
- 程序集引用:使用控件前,确认已引用两个必需的程序集
故障排除
导航不起作用:
- 确认子网格已添加到导航控件的 Controls 集合中
- 检查 MaxRecord 是否设置正确
- 确保网格具有数据源或已填充行
设计器问题:
- 将网格控件放入导航控件内,而非放到窗体上
- 如果控件未正确嵌套,请按正确顺序重新创建
样式未应用:
- 使用 Office2016 样式时,确认已设置 Office2016ScrollBarsColorScheme
- 检查 GridOfficeScrollBars 是否与 Style 属性匹配