dataset排序的帖子都是说怎么用dataview排好序就绑定到datagrid上,可我要在排序后反复使用dataset,怎么让dataset中datatable的内容也跟着排序?

解决方案 »

  1.   

    DataSet.Tables["dt"].DefaultView.Sort = "要排序的字段 desc/asc";
      

  2.   

    我是从Excel表读出的数据,然后用下面的语句处理:
    DataSet.Tables[0].DefaultView.Sort = DataSet.Tables[0].Column[0].Caption;
    处理完后,把DataView绑定到DataGrid上,发现记录按我的要求排序了。
    可当我用for语句将ds.Tables[0]逐条数据入库后,发现数据库里的顺序仍是乱的。
    也就是说DataView没有影响到相应的Table。
    该怎么办?我后面还需要对这个Table的记录按一定顺序进行复杂处理。
    难道只能导进数组?
      

  3.   

    如果直接处理DataView的话,怎样调用rows中的每个字段?
      

  4.   

    dataView是基于dataTable之上的,也就是说不占用重新分配内存空间。仍然使用的是相同的内存
    所以对dataView是无法对dataTable中的内容进行排序的,如果是excel应该有公式可以设置的,你找找有没有这类的方法或属性。
    数据库里的顺序仍是乱的---这句话是什么意思,你插入数据库需要对其排序吗,如果需要就建立索引。数据库会自动维护的。
      

  5.   

    我的意思是,数据没有按我排好的序插入数据库,因为索引键值是按记录顺序产生的,我也是为了验证Table里的数据被排序了没有。
    Excel是用户从客户端上传的,我不能随意控制。
    我今天new了一个DataRow作为临时空间,直接将Table用冒泡排序了。