首页 新闻 搜索 专区 学院

关于LinqToSQL 的OrderBy 的问题 求解决

0
悬赏园豆:50 [已解决问题] 解决于 2012-07-18 15:06

以下是gridview的OnSorting事件,根据e.SortExpression能得到排序字段(string型),问题是,我要用LINQ读数据时怎样以这个字段排序?

protected void gvUsers_OnSorting(object sender, GridViewSortEventArgs e)
{
string sort = e.SortExpression;
var result = FyDB.tb_UserInfo.Select(b => b).OrderBy(b => b.ID);
gvUsers.DataSource = result;
gvUsers.DataBind();
}

司马途的主页 司马途 | 初学一级 | 园豆:109
提问于:2012-06-21 12:32
< >
分享
最佳答案
0

动态构建表达式树,参考我对这个问题的回答,里面有示例代码。

收获园豆:25
水牛刀刀 | 大侠五级 |园豆:6350 | 2012-06-21 16:20
其他回答(2)
0

方案一:使用反射。对SortExpression指明的字段反射。但这个方案不是很好哦。

方案二:使用穷举:

var result = FyDB.tb_UserInfo.Select(b => b);

switch(e.SortExpresion)

{

case "ID":

result = result.OrderBy(b=>b.ID);

break;

case "Name":

result = result.OrderBy(b=>b.Name);

break;

//更多的情况

}

收获园豆:25
无之无 | 园豆:5085 (大侠五级) | 2012-06-21 13:38
0

排完序再绑定不行吗???

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-06-21 17:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册