2011-12-09 51 views
2

我使用VS2005 C#和SQL Server 2005GridView的排序从搜索结果,而不是原始数据

我有一个GridView从多个SQL查询列出的数据。

在验证和检查结束时,我的表格将包含从sqls检索到的数据列表。

我也可以根据UserID,Username等等来过滤结果(搜索功能)。

我启用了GridView中的排序功能,使用户能够将相同的UserID或“用户名”或...等进行分组。

试过滤后的结果E.G.通过Username,它将只列出具有我搜索的Username的记录。当我按排序(列标题)时,我希望GridView只排序当前在GridView上的结果。

然而,当我按下排序,它会回落到数据,而不是排序我的搜索结果原来长长的名单。

我可以知道是否可以在当前GridView上仅对排序而不是整个数据列表?

谢谢。


编辑:

简单地说,在GridView中,我能够理清我的搜索结果而不是从数据库数据的整个列表的?

+0

所以你有点绑定你的GridView的列表? grid.Itemsource = someList; ? – Gero

+1

@Gero是的,只是在页面本身的列表上。 – gymcode

+0

为什么不在第二个列表中存储搜索结果? – Gero

回答

0

您需要在客户端进行排序。使用Tablesorter jquery插件。 See this great example using asp.net gridview

+1

jquery是否也可以在服务器端编码上工作? – gymcode

+0

显然不是。但使用jquery将解决“我可能知道是否可以在当前GridView上进行排序” – robasta

+1

ic。我正在使用.Net 2.0。我在网站上看到它说我需要ASP.NET 4.0,是真的吗? – gymcode

0

在Silverlight中我有一个类似的问题。我做了第二个列表,我将临时存储搜索元素并将该列表绑定到网格。所以我可以在第二个列表上执行操作,比如排序,并且不会干扰包含所有未排序数据的主列表。多数民众赞成我如何快速解决这个问题。

+0

嗨Gero。我试图实现搜索结果以显示在另一个网页上。但是,当我按列的标题对特定的'searchResult'表进行排序时,表格在排序后返回到完整页面。我将鼠标悬停在标题选项卡上,而我所看到的仍然是javascript:_doPostBack(MainContent $ GridView1,SortIssue),即使我已将其重命名为“GridView”。你有解决这个问题的办法吗? – user1084683

0

为什么不使用DataTable.DefaultView?你可以进行筛选,排序等