【问题标题】:Adding pagination to a DataGridView向 DataGridView 添加分页
【发布时间】:2014-07-17 23:37:57
【问题描述】:

我正在开发一个 VB 项目 - net 2.0。我已经很久没有在 .net 中工作了,我需要复习一下。

如何在这段代码中添加分页:

  'AdvDataGrid
    '
    Me.AdvDataGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
    Me.AdvDataGrid.Location = New System.Drawing.Point(881, 37)
    Me.AdvDataGrid.Margin = New System.Windows.Forms.Padding(4)
    Me.AdvDataGrid.Name = "AdvDataGrid"
    Me.AdvDataGrid.Size = New System.Drawing.Size(661, 546)
    Me.AdvDataGrid.TabIndex = 67

【问题讨论】:

  • 也许.RowFilter ? ;p ,或者像 Levi 建议的那样,每次只将记录的一个子集拉到数据源。取决于数据的大小,以及它是本地的还是远程的。
  • 哦,这是 MSDN 示例:How To Perform Paging with the DataGrid Windows Control by Using Visual Basic .NET:support.microsoft.com/kb/305271/en-us 虽然有点过时,但它适用于 DataGrid
  • 另外,请查看此链接:code.msdn.microsoft.com/windowsdesktop/…

标签: c# vb.net datagridview pagination


【解决方案1】:

Portlight, 您可能知道,分页不是 Windows 窗体 datagridview 的固有元素。但是,使用 bindingnavigator 和 binding source,您可以获得您正在寻找的结果。 我研究了这个解决方案,我在 C# 中找到了它。但是,您可以轻松地将代码转换为 vb.net。我指导您查看原始文档,以便您可以遵循并理解该概念。 请注意,本文有一个指向 StackOverflow 的链接,以获取更多选项和理解。 抱歉,无法将分页添加到您的代码中 - 需要做很多事情才能实现您的结果。 http://dotnetgenetics.blogspot.com/2013/11/datagridview-paging-using.html

【讨论】:

  • 也许为了提高效率,你可以让它继续异步拉取数据。当用户查看页面时,可能会再增加 5 个块,或者只是所有块,以减少后续负载。但这需要一些花哨的数据集管理。然后只需将块复制到新数据集。或者实际上。您可以在那时过滤它们。我想关键是异步拉取块,这样用户就不会等待 10,000 条记录。
  • 您有关于设置数据异步的任何信息吗?
  • 数据异步只是意味着您在后台加载数据,因此用户无需等待加载完成。设置数据调用并在数据拉取中提高效率将是另一个线程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
  • 2021-04-10
  • 2015-08-29
  • 2011-12-16
  • 1970-01-01
相关资源
最近更新 更多