zoukankan      html  css  js  c++  java
  • 用DataTable.Merge()解决了一个排序问题

    首先明确一点,DataTable不支持排序
    在一个DataTable(dt)中已经存在无序数据,要实现排序,我想到了两个方法:

    方法一
    可以先构造一个列表(list),按排序顺序存储dt主键列的值; 然后主要是利用DataTable.Merge方法

     1 StrongTypedDataTable tempDt;
     2 //使tempDt具有dt的Schema 和 Constraint
     3 tempDt = new StrongTypedDataTable();
     4 foreach(string key in list)
     5 {
     6    //如果某些列不允许空,则NewRow()->赋key值->再Add(dr).
     7    tempDt.Rows.Add(key, null.);
     8 }
     9 //合并后将维持tempDt中的顺序
    10 tempDt.Merge(dt);
    11 dt = tempDt;

    方法二
    思路:DataView支持排序,而DataView对象有方法ToTable,没有尝试过,已经理解ToTable原理或有机会用到的人给个答案吧:)

    p.s 猪年第一篇post.

    yicone
    -The future is worth fighting for.
  • 相关阅读:
    摩根斯坦利面试
    Interview Preparation IV
    Interview Preparation III
    Interview Preparation II
    Interview Preparation I
    ASCII Characters
    Java Serialization
    贝莱德伦敦分部面试
    SVG基本知识
    前端知识整理(四)【HTTP相关】
  • 原文地址:https://www.cnblogs.com/yicone/p/662209.html
Copyright © 2011-2022 走看看