当列是代码时,按字母顺序排序网格视图

时间:2010-06-15 09:32:38

标签: asp.net gridview sorting

我有一个由Web服务搜索功能填充的gridview。 网格中的一些列是模板字段,因为从搜索返回的值(在数据表中)是ids - 然后我会使用这些ID在触发rowdatabound事件时查找值并填充标签或其他类似物。 这意味着我对这些id / lookup列的排序功能按ids排序,而不是我查找并实际填充网格的文本值(尽管我确实将id放在网格数据键中)。

我想要做的是能够按查找的文本值而不是这些特定列的代码进行排序。 我要做的就是当数据表从搜索中返回时,添加更多列的文本值并进行所有查找,从而能够直接从手动添加的列进行排序。

有另一种方法吗?因为这种方法似乎有点像一个小屋。 虽然我猜它确实删除了必须在rowdatabound事件中查找....

我的排序功能通过在会话中粘贴数据表并在每个绑定上抓取sort列并将gridview绑定到DataView并将sort属性设置为列 - 以及方向来工作。

感谢

NAT

1 个答案:

答案 0 :(得分:0)

我不明白为什么你的数据表存储在会话中,你有多少用户?通常,您应该将网格重新绑定到每个特定事件(排序,分页,编辑......)上的数据源,但不要在每次回发时重新绑定(gridview存储在viewstate中)。

是否可以通过sql-joins直接从数据库中获取文本值?然后你不需要在rowdatabound中查找,你可以将SortExpression设置为该列。