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>();