加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net DataGrid Windows 控件执行分页

发布时间:2020-12-16 22:27:44 所属栏目:大数据 来源:网络整理
导读:http://support.microsoft.com/kb/305271/zh-cn DataGrid Web 控件有内置的自动或自定义分页功能,但是 DataGrid Windows 控件却没有这些功能。本文介绍如何为 DataGrid Windows 控件生成简单的分页机制。 本文中的代码示例利用了 数据集 对象。在 ADO.NET

http://support.microsoft.com/kb/305271/zh-cn



DataGridWeb 控件有内置的自动或自定义分页功能,但是DataGridWindows 控件却没有这些功能。本文介绍如何为DataGridWindows 控件生成简单的分页机制。

本文中的代码示例利用了数据集对象。在 ADO.NET 中,数据集对象是通过单次操作填充的,它们始终驻留在内存中。如果您在使用一个大型数据集,本文介绍如何以编程方式按块区或页面形式显示数据。

此技巧有一些局限性。有关更多信息,请参阅疑难解答一节。

回到顶端

要求

  • Microsoft Visual Basic .NET
  • Microsoft SQL Server Northwind 示例数据库
回到顶端

向 DataGrid Windows 控件添加分页的步骤

当您对 DataGrid进行分页时,您会在页面大小的"块区"中显示数据,也即,一次显示一页记录。下面的代码示例将每页的 DataRow对象从内存中的 数据集复制到一个临时表中。该临时表然后会绑定到 DataGrid控件。
  1. 打开一个新的 Visual Basic .NET Windows 应用程序。默认情况下将创建 Form1。
  2. 添加DataGrid控件,将其ReadOnly属性设置为True
  3. 将以下附加控件添加到 Form1 上,然后按如下所示设置它们的属性:
    Control Name Property Text Property
    Button btnFirstPage First Page
    btnNextPage Next Page
    TextBox txtDisplayPageNo
    btnPreviousPage Previous Page
    btnLastPage Last Page
    txtPageSize 5
    btnFillGrid Fill Grid

  4. 复制下面的代码并粘贴到 Form1 的 General Declaration 部分:
    Imports System
    Imports System.Data
    Imports System.Data.SqlClient
  5. 复制下面的代码并粘贴到"Windows Form Designer generated code"区域之前以声明 Form1 的窗体层次变量:
    Private da As SqlDataAdapter Private ds As DataSet Private dtSource As DataTable Private PageCount As Integer Private maxRec As Integer Private pageSize As Integer Private currentPage As Integer Private recNo As Integer
  6. 删除 Form1 的Load事件自动生成的下列代码。
    Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) _ Handles MyBase.Load End Sub
  7. 复制下面的代码并粘贴到"Windows Form Designer generated code"区域之后
  8. 修改代码中的ConnectionString参数以使它指向罗斯文 (Northwind) 数据库的一个现有实例。
  9. 按 F5 键生成并运行此项目。
  10. 默认情况下,将"页大小"设置为 5 个记录,您可以在文本框中更改它。
  11. 单击填充网格。注意,网格中填入了 5 个记录。
  12. 单击第一页下一页上一页最后一页可以在不同的页面之间浏览。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读