以下是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();
}
方案一:使用反射。对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;
//更多的情况
}
排完序再绑定不行吗???