大哥,你这样不行的吧,datatable这个结构很复杂,要么你用dt自带的功能排序,要么你就把它转成你的实体类然后用linq排序,你说一种,我给你写个。
算了,还不知道你什么时候回复呢,看你的样子是最终想得到一个DataTable。那我就用DataTable的排序写吧。
DataRow[] rows = dataTable1.Select("", "交车数 desc"); DataTable t = DataTable1.Clone(); t.Clear(); foreach (DataRow row in rows) t.ImportRow(row); DataTable1 = t;
最后的DataTable1就是你要得到的排序后的数据。
说一下这样的原因,我们对DataTable用select 的时候得到的是DataRow[],不同结构的DataTable的DataRow是不一样的,所以,不能通用,所以我们需要复制一个原DataTable的结构(即使用Clone方式),然后再将之前得到的DataRow[]给这个Clone出来的与原DataTable结构一致的DataTable1就可以了。
跟排序没关系吧,调试看下list1的值
先把list1用ToList()之类的方法,确定有没有值吧!