列表顺序问题
本文关键字:问题 顺序 列表 | 更新日期: 2023-09-27 18:02:32
我试图自己处理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();
}
得到的错误是:
至少有一个对象必须实现IComparable
Package是一个实体,所以我不明白我错过了什么。我在网上找到的其他例子也反映了我上面提到的内容,以及它的各种迭代。我错过了什么?我还想说的是,Department只是一个字段,作为测试,它将在最终版本中更加动态。
编辑:再次感谢stack,我是个大傻瓜。
问题是您正在尝试订购部门,但部门类型不知道应该如何订购,因为您没有实现IComparable,这需要指定顺序的方法,例如orderderby department . name或department . location, department . size,谁知道?
无论Department
的类型是什么,它都不实现IComparable
。它可能是一个对象/实体/DataRow类型。
您要按ID、名称、…排序吗?div ?