【问题标题】:filterable and sortable datatable/datasource可过滤和可排序的数据表/数据源
【发布时间】:2013-09-16 03:42:44
【问题描述】:

我有一个巨大的表格,我需要实现一个(网络)控件,以允许我浏览所有记录、对它们进行分页、过滤和排序。我的第一个想法是实现一个 DataGrid/something 并将读取的 DataTable 作为 DataSource(使用“视图”或简单的 sql“全选”语句),然后过滤 DataTable 对象(DataView.RowFilter 等)。据我所知,在读取所有记录之后,这种排序/过滤是在客户端完成的。有没有更优雅/有效的方法来做到这一点(意思是 - 只需从数据库服务器读取您需要的记录)?

【问题讨论】:

  • 你说,“(网络)”控制。你在使用 ASP.NET 吗?哪个版本?
  • 感谢您的标签建议。是的,我想在网络上使用它,但即使是桌面应用程序也可能必须有类似的方式。我正在使用 ASP.NET 4.0。
  • 它根本不像桌面应用程序。网络完全不同。
  • 我知道。但是数据对象(DataTable & co)是一样的。此外,桌面客户端可能在数英里之外,并且每次都获取整个表格以在那里进行排序/过滤/分页可能不是一个好主意。这就是为什么我试图以更笼统的方式提出这个问题……也许非网络开发人员也有类似的问题。
  • @JohnSaunders - 我看到你编辑了标签......我也对分页感兴趣。我知道我不能放置超过 5 个标签,所以我决定使用“分页”而不是“asp.net”...

标签: c# asp.net sorting filter datatable


【解决方案1】:

对于像 GridView 这样的控件,每次选择页面时,默认分页都会从数据库中检索所有行。

不是很有效吗?但是,您可以使用自定义分页仅检索当前所选页面所需的那些记录。

这里是一个例子:http://www.asp.net/web-forms/tutorials/data-access/paging-and-sorting/efficiently-paging-through-large-amounts-of-data-cs

【讨论】:

  • 嗯,您的解决方案符合我的要求。但是,我希望有一个需要更少编码和更通用的解决方案。不管怎样,谢谢! :-)
猜你喜欢
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
  • 2012-06-29
  • 1970-01-01
  • 2013-12-23
  • 2019-05-21
  • 1970-01-01
  • 2016-04-08
相关资源
最近更新 更多