其实这是一个LINQ的小应用,一般情况下对DataView进行排序,使用给定的Sort属性进行设置,但是使用Sort属性有一个很常见的小问题,就是从数据库查出的数据是int时有时排序会出错,会按照字符串来进行排序,就会造成"2>12"的现象,网上很多人说可以再查出一列,将其设为int,使用这一列来进行排序,感觉还是不很灵活,其实MSDN(对DataView进行排序(LINQ))上推荐的例子为使用LINQ表达式对Datatable/DataView进行排序,这样更容易进行控制,其实就是再对Datatable进行一次LINQ查询
var query = (from item in dtProdHis.AsEnumerable()
orderby Convert.ToInt32(item[0])
select item);
//重新排序
dv = query.AsDataView();