如何使用 C# 在 ASP.NET 的 gridview 中实现自定义分页,并在代码隐藏中修改数据

How to implement custom paging in gridview in ASP.NET using C# with data modified in code-behind

我在 ASP.NET 中使用 gridviews 查找了自定义分页,但它似乎只适用于从数据库向网页显示完全相同的行。

就我而言,我目前使用默认的 gridview 分页来 select 数据库中的所有行,然后在我的 aspx 页面的代码后面处理该数据,然后显示基于处理过的数据的自定义行在我的网格视图中。

我的问题是:我想知道如何从数据库中 select 一定数量的行,这些行将反映网页上我的 gridview 中 1 个页面的足够“自定义”行。

注意:我在前端处理数据,并根据通用的相同 FKID 值将它们分组到自定义行中。

非常感谢您的帮助, 问候。

每个 FKID-value 在您的 table 中的行数是否相同?我认为情况并非如此。

我认为您的选择如下:

  1. 你可以留下你的逻辑as-is。如果性能不是太差,我认为这是最简单的解决方案。

  2. 在 database-level 创建视图。然后,此视图应在您需要时直接提供记录,将它们作为 GridView 中的一行。这将 paging-logic 置于 database-level,并且是 performance-wise 我认为最快的选项。

  3. 与选项 2 相同,但在您的应用程序级别。这可以这样工作:构建一个 select 查询,为您提供不同 FKID 值的计数,以及一个查询,可以为您提供基于 'startindex' 和 'number of rows' 的 FKID 值列表.对于每个 FKID returned,触发另一个查询以获取相应的行。将您的逻辑和 return 行页面应用到您的 GridView。