我的排序是手动的那种,将datatable指定个dataview,然后排序,但是排序时数字字段只按照数字的第一个数排序,例如:1,20,3这3个数,正序排是1,20,3,倒序排是3,20,1,把20怎么当成2了呢?那位知道的朋友帮帮忙呀?实现立即给分!

解决方案 »

  1.   

    如果DataTable中该字段是字符串类型,那么它这么排序是理所当然的
      

  2.   

    如果这个DataTable是楼主自己手工创建的,请指定其数据类型:
    dt.Columns.Add("field1",typeof(int));
    如果这个DataTable是从数据库中取出,并且在字段在数据库里设置了是字符型(如varchar),那么就需要在sql语句中做一些处理,把它转换成数字型:
    select convert(field1,int) field1 from table1 ....
      

  3.   

    那怎么解决呀?
    DataTable中怎么存储整型呀?
    我直接写的时候是按照整型存储的,怎么会变成字符串类型了呢?
      

  4.   

    Eddie005(♂) №.零零伍 (♂) :
    不行呀?
    提示CS1502: 与“System.Data.DataColumnCollection.Add(string, System.Type)”最匹配的重载方法具有一些无效参数