读书人

linq 排序解决思路

发布时间: 2012-02-24 16:30:38 作者: rapoo

linq 排序
为什么用LINQ排序排好了绑定在dataList上没有用`
上面显示不了排序后的信息
让高手帮忙解决下

[解决办法]
我的是可以的
NorthwindDataContext dc = new NorthwindDataContext();
var result=dc.Products
.OrderBy(p => p.UnitPrice).Select(p => new { p.ProductName,p.UnitPrice});
DataList1.DataSource = result;
DataList1.DataBind();

是不是你的datalist没有设置好?
[解决办法]
Linq里的orderby负责IQueryable<T>里的顺序,和dataList利的顺序没关系,dataList默认是根据主键排序.dataList里的顺序在dataList里面调
[解决办法]
Linq动态排序有很多方法,搜了很多没有一个实现的。为了方便我们开发,微软为我们提供了一些类库。在项目里引用就好了。以扩展方法实现。
在网上找一个Dynamic.cs文件。找不的email我。
简单应用。 public DataTable GetProductSort( string sortExpression, string sortDirection)
{
var t = dt.product.OrderBy(sortExpression);
var resultTemp = from r in dt.product
select r;
var tt= resultTemp.OrderBy(sortExpression+" "+sortDirection);
return DBHelper.ToDataTableMy(tt);

}
[解决办法]
得左,真的是可以的,原来一直没赋值,Frequency属性一直为0

IEnumerable<CanteenMenu> filteringQuery =
from var in menus
orderby var.Frequency descending
select var ;
dgMenus.ItemsSource = filteringQuery.ToList<CanteenMenu>();

读书人网 >.NET

热点推荐