asp.net datagrid排序

时间:2010-12-01 18:16:56

标签: asp.net

我有一个显示从存储过程返回的数据的数据网格。这很好。问题是我想做排序。我知道网格中有排序功能,但是,我不想回到服务器并获取一组新数据。我想要做的只是重新排序已经显示的数据。

任何人对如何做到有什么想法?

谢谢!

更新

基本上,我无法找到解决此问题的简单方法。我尝试将我的dataGrid更新为gridView控件,甚至(对于我的特定问题)很难。我没有完成所有的更改,只是添加了另一个只有我想要的数据的网格。

如果其他人有这样的问题,我建议将其从数据网格中取出并在jQuery中编写。我可以在15分钟内编写一张能够获得我想要的数据(并且可以使用下面提到的插件进行完全排序)的表格,而不是花在试图将方形挂钩插入圆孔的时间。

2 个答案:

答案 0 :(得分:1)

听起来你想要的是在客户端进行排序(内置网格排序是服务器端,听起来你不想要往返)。如果您正在使用jQuery,那么有一些非常简单的插件可以处理客户端上的排序。例如,使用tablesorter插件(http://tablesorter.com/docs/),您可以使用一行代码执行此操作:

jQuery(".gv").tablesorter();

其中gv是用于我所有表的css类(ASP.net应用程序中的GridView控件)。

您需要确保您的DataGrid正在推送<thead><tbody>,请参阅相关问题以获取添加这些内容的Javascript方式,或者您可以通过PreRender中的代码隐藏来执行此操作事件:ASP.NET 2.0 - DataGrid with tbody / thead

答案 1 :(得分:1)

您可以做的一件事是将当前结果集保存到用户会话中,前提是它不是那么大。然后,您可以使用DataGrid的内置排序功能,而无需处理数据库的往返。

您将返回服务器,但通常前往Web服务器并返回的速度远远快于涉及数据库的行程。