建立类型化数据集对象后 
使用DefaultView得到视图
再使用Sort进行排序
最后想得到排序后的新的DataTable(使用dataview的totable方法)
但是只能得到datatable
不能得到类型化的数据集对象
怎么办啊?
类型化的数据集怎么进行排序操作呢??部分代码:
            OPLogDataTable dt = new OPLogDataTable();//OPLogDataTable是构建的一个类型化数据集中的datatable
            ......
            DataView dv = dt.DefaultView;
            dv.Sort = dt.idColumn.ColumnName;
            OPLogDataTable newdt = dv.ToTable() as OPLogDataTable;//这里得到的是null 如果不进行as转换 则可以得到普通的排好序的datatable对象....

解决方案 »

  1.   

    排序之后写成xml字符串 然后再用强类型对象进行加载 这样倒是可以 
    但总不会只能用这么晕的方式吧....
      

  2.   

    参考:
    对 DataGrid Web 服务器控件进行排序
      

  3.   

    顶一下继续提问
    如果排序之后就进行绑定 怎样都可以
    可我现在的目的不是要绑定显示
    排序之后还是想要得到类型化数据集的对象帖子里面有个地方没说清楚 意思其实是这样的:
    "最后想得到排序后的新的类型化的DataTable(使用dataview的totable方法) 
    但是只能得到普通的datatable...."
      

  4.   

    我是直接在dataset 里排序的,
    比较浪费资源,
    帮你顶。
      

  5.   

    DataView   dv;   
    DataTable   dt2   =   dv.Table.Clone();   
    for (int   i=0;   i   <   dv.Count;   i++)   
          dt2.ImportRow(dv[i].Row);     
     使用实体类排序或绑定后排序
      

  6.   

    OPLogDataTable.DefaultView应该提供一个强类型的OPLogDataView吧。
    题外话,为什么你们都喜欢在内存里面使用Sort排序呢?这个到底好在哪?这种应用对实际数据量的要求很高,数据量不同对这个算法的影响非常大。
      

  7.   

    对于第一点 最初我也以为应该是这样的 但是很遗憾 没有OPLogDataView存在...
    对于第二点 我想要维护缓存中的一块需要排序的数据 而且并不是排序后就直接显示 而是需要保留这块排序后的数据 如何处理?
      

  8.   

    如果是这种普通的datatable 我就不用发帖子提问了 我现在需要进行排序的是类型化数据集中的datatable