c#常用表格控件dataGridView的分页显示

yizhihongxing

关于c#常用表格控件dataGridView的分页显示,这里提供一份完整攻略,包含以下几个部分:

  1. 准备工作
  2. 数据源绑定
  3. 分页控件的使用
  4. 代码示例
  5. 参考资料

下面对每个部分进行详细说明。

一、准备工作:

在开始使用dataGridView进行分页显示之前,需要做好一些准备工作,包括:
1. 安装并引用数据库基础组件,例如MySql.Data.dll;
2. 创建数据库及表格,并预置数据记录;
3. 创建WinForm窗体,并添加dataGridView表格控件和分页控件;
4. 在设计器中指定dataGridView的数据源为数据表格。

二、数据源绑定:

在WinForm设计器中,选择dataGridView控件,在属性面板中指定数据源、数据表以及数据列,这样dataGridView就能读取并显示所需要的数据源了。
代码示例如下:

//创建MySqlConnection对象实例,并打开连接
MySqlConnection conn = new MySqlConnection("Server=yourServerName;Database=yourDatabaseName;Uid=yourUserName;Pwd=yourPassword;SslMode=none");
conn.Open();

//创建MySqlCommand对象实例,并指定SQL查询语句
string sql = "SELECT * FROM yourTableName";
MySqlCommand cmd = new MySqlCommand(sql, conn);

//创建DataAdapter对象实例,并调用Fill方法填充DataSet对象
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(ds);

//设置dataGridView的数据源及绑定关系
dataGridView1.DataSource = ds.Tables[0];

三、分页控件的使用:

一般情况下,需要使用分页控件对dataGridView进行分页显示。目前比较常用的分页控件有Pager和Paging。其中Pager是自定义分页控件,需要在WinForm设计器中添加Pager.cs文件,并调用Pager控件进行分页;Paging是第三方分页控件,可以通过NuGet安装并引用,直接调用Paging进行分页即可。

以Pager为例,代码示例如下:

//在WinForm设计器中添加Pager.cs自定义分页控件
Pager pager = new Pager();
pager.Dock = DockStyle.Bottom;
this.Controls.Add(pager);

//在代码中定义分页控件的相关属性
int recordCount = ds.Tables[0].Rows.Count;
int pageSize = 5;
pager.PageSize = pageSize;
pager.RecordCount = recordCount;
pager.CurrentPageChanged += new EventHandler(pager_CurrentPageChanged);

//在事件处理程序中实现分页查询功能
void pager_CurrentPageChanged(object sender, EventArgs e)
{
    int pageIndex = pager.CurrentPageIndex;
    int startRow = pageIndex * pageSize;
    DataTable dt = ds.Tables[0].Clone();
    for (int i = startRow; i < startRow + pageSize && i < recordCount; i++)
    {
        dt.ImportRow(ds.Tables[0].Rows[i]);
    }
    dataGridView1.DataSource = dt;
}

四、代码示例:

根据以上步骤,可以实现一个简单的dataGridView分页示例,代码如下:

//创建MySqlConnection对象实例,并打开连接
MySqlConnection conn = new MySqlConnection("Server=yourServerName;Database=yourDatabaseName;Uid=yourUserName;Pwd=yourPassword;SslMode=none");
conn.Open();

//创建MySqlCommand对象实例,并指定SQL查询语句
string sql = "SELECT * FROM yourTableName";
MySqlCommand cmd = new MySqlCommand(sql, conn);

//创建DataAdapter对象实例,并调用Fill方法填充DataSet对象
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(ds);

//设置dataGridView的数据源及绑定关系
dataGridView1.DataSource = ds.Tables[0];

//在WinForm设计器中添加Pager.cs自定义分页控件
Pager pager = new Pager();
pager.Dock = DockStyle.Bottom;
this.Controls.Add(pager);

//在代码中定义分页控件的相关属性
int recordCount = ds.Tables[0].Rows.Count;
int pageSize = 5;
pager.PageSize = pageSize;
pager.RecordCount = recordCount;
pager.CurrentPageChanged += new EventHandler(pager_CurrentPageChanged);

//在事件处理程序中实现分页查询功能
void pager_CurrentPageChanged(object sender, EventArgs e)
{
    int pageIndex = pager.CurrentPageIndex;
    int startRow = pageIndex * pageSize;
    DataTable dt = ds.Tables[0].Clone();
    for (int i = startRow; i < startRow + pageSize && i < recordCount; i++)
    {
        dt.ImportRow(ds.Tables[0].Rows[i]);
    }
    dataGridView1.DataSource = dt;
}

五、参考资料:

  1. C#中DataGridView也支持分页显示了!
  2. 常用控件:dataGridView 分页
  3. 分页控件 Paging
  4. C#自动生成分页控件,DataGridView分页控件

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#常用表格控件dataGridView的分页显示 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • 怎么查看路由器有多少ip地址? 具体有哪些设备连接上了?

    要查看路由器上的IP地址和连接的设备,您可以按照以下步骤进行操作: 首先,确保您已经连接到路由器的管理界面。通常,您可以在浏览器中输入路由器的默认网关IP地址来访问管理界面。例如,大多数路由器的默认网关IP地址是192.168.1.1或192.168.0.1。您可以在计算机的网络设置中找到默认网关IP地址。 打开您选择的浏览器,并在地址栏中输入路由器的默认网…

    other 2023年7月30日
    00
  • 十条服务器端优化Web性能的技巧总结

    下面我将为您详细讲解“十条服务器端优化Web性能的技巧总结”的完整攻略。 十条服务器端优化Web性能的技巧总结 1. 启用Gzipping压缩 启用Gzipping压缩可以减小传输的数据量,从而提升网站的加载速度。在Apache服务器中,可以通过修改.htaccess文件启用Gzipping压缩,示例代码如下: <IfModule mod_deflat…

    other 2023年6月27日
    00
  • Android获得当前正在显示的activity类名的方法

    Android获得当前正在显示的activity类名的方法 在Android开发中,有时我们需要获取当前正在显示的Activity的类名。下面我将详细介绍两种常用的方法来实现这个目标。 方法一:使用ActivityLifecycleCallbacks Android提供了ActivityLifecycleCallbacks接口,通过该接口我们可以监听Acti…

    other 2023年6月28日
    00
  • Android自定义View圆形百分比控件(一)

    Android自定义View圆形百分比控件(一)攻略 简介 在本攻略中,我们将学习如何创建一个自定义的圆形百分比控件,用于显示一个圆形进度条,并根据百分比值进行动态更新。 步骤 步骤一:创建自定义View类 首先,我们需要创建一个自定义的View类,用于绘制圆形进度条。以下是一个示例代码: public class CircleProgressBar ext…

    other 2023年9月6日
    00
  • rocketmq安装部署详细解析

    以下是关于“RocketMQ安装部署详细解析”的完整攻略,包括安装部署的介绍、示例说明等。 安装部署 RocketMQ是一个分布式消息列系统,用于处理大规模数据流。以下是一些常用的安装部署步骤: 下载RocketMQ安装包。 解压安装包到指定目录。 配置环境变量。 启动NameServer。 启动Broker。 验证RocketMQ是否正常运行。 示例说明 …

    other 2023年5月7日
    00
  • 在scrollView中使用pageControl

    在scrollView中使用pageControl的完整攻略 在iOS开发中,scrollView是一个常用的控件,用于显示大量内容。而pageControl则是一个用于指示scrollView当前页数的控件。本文将为您提供一份详细的在scrollView中使用pageControl的完整攻略,包括基本概念、使用方法和两个示例说明。 基本概念 在iOS中,s…

    other 2023年5月5日
    00
  • C语言动态内存管理的原理及实现方法

    C语言动态内存管理的原理及实现方法 动态内存管理是C语言中非常重要的概念,它允许程序在运行时动态地分配和释放内存。本文将详细讲解C语言动态内存管理的原理及实现方法,并提供两个示例说明。 原理 C语言中的动态内存管理是通过以下几个函数来实现的: malloc(size_t size):用于分配指定大小的内存块,并返回指向该内存块的指针。 calloc(size…

    other 2023年7月31日
    00
  • 鼠标右键刷新电脑反应很慢该怎么办?

    问题描述: 在使用电脑时,我们经常会使用鼠标右键进行各种操作,其中就包括刷新页面,但是有时我们会发现鼠标右键刷新页面的反应很慢,甚至会出现卡顿、卡死的情况。这种情况该怎么办呢? 解决方案: 一、检查系统垃圾文件并清理 系统中的垃圾文件和多余的程序会占用电脑的资源,并使电脑变慢。我们可以使用系统清理工具或其他第三方工具进行清理。以下是使用Windows自带的D…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部