mcpField
S
syncfusion-winforms-record-navigation-control

syncfusion-winforms-record-navigation-control

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

关于 syncfusion-winforms-record-navigation-control

此技能介绍如何在 Windows Forms 应用中实现 Syncfusion 的 GridRecordNavigationControl,面向需要为网格界面添加记录浏览功能的开发者,并涵盖导航、样式和分组网格集成。

主要功能

  1. 01支持首条、末条、上一条和下一条导航
  2. 02显示当前记录和总数
  3. 03提供 Default、Metro 和 Office2016 样式
  4. 04支持本地化导航标签和文本
  5. 05集成 GridGroupingControl

适用场景

  1. 01在数据库查看器中浏览记录
  2. 02在编辑器中切换记录
  3. 03浏览大型网格数据集
  4. 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.md
gridgrouping-integration.md
navigation-methods.md
styling.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();

主要属性

属性类型说明
MaxRecordint数据集中的记录总数
MaxLabelstring显示记录总数的标签(例如,“共 1000 条”)
NavigationBarWidthint导航栏的宽度,单位为像素
SplitBarsDynamicSplitBars分隔栏配置(None、Both、Horizontal、Vertical)
StyleAppearance视觉样式(Default、Metro、Office2016)
Office2016ScrollBarsColorSchemeScrollBarOffice2016ColorSchemeOffice2016 配色方案
GridOfficeScrollBarsOfficeScrollBarsOffice 滚动条样式
ShowNavigationBarbool(GridGroupingControl)显示/隐藏导航栏

主要方法

方法说明
MoveFirst()导航到第一条记录
MoveLast()导航到最后一条记录
MoveNext()导航到下一条记录
MovePrevious()导航到上一条记录

常见用例

用例 1:数据库查看器应用程序

创建一个数据查看器,让用户可以逐条浏览数据库记录,类似于 Microsoft Access 窗体。

用例 2:记录编辑器

构建一个编辑器界面,让用户在编辑数据时可以在记录之间导航,并清楚地显示当前位置。

用例 3:大型数据集导航

支持在大型数据集(1000 条以上记录)中高效导航,而无需一次性加载所有记录。

用例 4:分组数据导航

在 GridGroupingControl 中浏览分组记录,同时保留分组结构。

必需程序集

若要使用 GridRecordNavigationControl,请添加以下程序集引用:

  1. Syncfusion.Grid.Windows.dll - 核心网格功能和导航控件
  2. Syncfusion.Shared.Base.dll - 共享样式、编辑器和基础组件

实现检查清单

  • 添加必需的程序集引用
  • 创建 GridRecordNavigationControl(使用设计器或代码)
  • 添加子网格控件(GridControl 或 GridDataBoundGrid)
  • 配置 MaxRecord 和 MaxLabel 属性
  • 如果使用数据绑定网格,请设置数据源
  • 应用视觉样式/主题(可选)
  • 测试导航方法(第一条、最后一条、下一条、上一条)
  • 处理任何自定义导航事件(可选)

最佳实践

  1. 优先使用设计器:使用 Visual Studio 设计器进行初始设置,它会生成正确的初始化代码
  2. 放置顺序:使用设计器时,先放置导航控件,再将网格放入导航控件内(而非放到窗体上)
  3. 设置 MaxRecord:始终将 MaxRecord 属性设置为与数据集大小一致,以确保导航准确
  4. 更新 MaxLabel:使 MaxLabel 与数据更改保持同步
  5. 主题一致性:在应用程序的所有 Syncfusion 控件中应用相同的视觉样式
  6. 程序集引用:使用控件前,确认已引用两个必需的程序集

故障排除

导航不起作用:

  • 确认子网格已添加到导航控件的 Controls 集合中
  • 检查 MaxRecord 是否设置正确
  • 确保网格具有数据源或已填充行

设计器问题:

  • 将网格控件放入导航控件内,而非放到窗体上
  • 如果控件未正确嵌套,请按正确顺序重新创建

样式未应用:

  • 使用 Office2016 样式时,确认已设置 Office2016ScrollBarsColorScheme
  • 检查 GridOfficeScrollBars 是否与 Style 属性匹配

评论

支持 Markdown