abe*_*end 0 c# asp.net sql-order-by entity-framework-4 tolist
我想要自己处理gridview排序.我无法想出这个:
protected void gvPackages_Sorting(object sender, GridViewSortEventArgs e)
{
List<Package> pck = new List<Package>();
pck = Session["Packages"] as List<Package>;
var output = (from p in pck
orderby p.Department
select p); <-line that breaks
// var output = pck.OrderBy(x => x.Department).ToList(); <- I've also tried this
gvPackages.DataSource = output;
gvPackages.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
至少有一个对象必须实现IComparable.
包是一个实体,所以我不明白我错过了什么.我在网上找到的其他例子反映了我上面的内容,以及它的各种迭代.我错过了什么?我还要说部门只是一个领域,作为一个测试来使它工作,它将在最终版本中更具活力.
编辑:再次感谢堆栈,我是一个很大的假人.
问题在于你试图在部门上订购,但部门类型不知道应该如何订购,因为你没有实现IComparable,这需要方法来指定顺序,例如Orderby Dept.Name或Dept.Location,Dept.Size,谁知道?