什么是使用GridView和LINQ排序的最佳方法是什么?

这个问题已经有了答案在这里:

  • 有没有使用LINQ动态创建一个过滤器的模式? 4回答

有一件事是LINQ似乎缺少对我来说是一种通过文本字符串引用列。 例如,我有一个典型的GridView设置与排序是这样的(数据源绑定到代码隐藏LINQ查询):

<asp:GridView ID="MyGridView" runat="server" AllowSorting="True"> <Columns> <asp:BoundField DataField="field1" SortExpression="field1" HeaderText="Field 1" /> <asp:BoundField DataField="field2" SortExpression="field2" HeaderText="Field 2" /> <%-- etc. --%> </Columns> </asp:GridView>

为了得到工作的排序,我必须用两个巨大的选择语句在MyGridView_Sorting事件处理(处理升序和降序):

Dim query = From t In context.MyTables If e.SortDirection = SortDirection.Ascending Then Select Case e.SortExpression Case "field1" query = query.OrderBy(Function(x) x.field1) Case "field2" query = query.OrderBy(Function(x) x.field2) 'etc.' End Select Else Select Case e.SortExpression Case "field1" query = query.OrderByDescending(Function(x) x.field1) Case "field2" query = query.OrderByDescending(Function(x) x.field2) 'etc.' End Select End If

目前已经得到了更好的方法来做到这一点,就不是吗? 我得到的字段名称和排序方向从电网 - 你会觉得会有一个方法可以轻松地养活了到LINQ查询,而不必通过现场翻译IT领域。 任何人有一个更好的办法?

--------------解决方案-------------

你可能想看看这个文章,题目,自我排序的GridView使用LINQ表达式树

分类:vb.net 时间:2015-03-15 人气:1
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.701 (s). 10 q(s)