用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.

转载于:https://www.cnblogs.com/yicone/archive/2007/03/02/662209.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值