首页 > 其他 > 详细

原来DataTable的Distinct竟如此简单!

时间:2014-11-07 18:43:06      阅读:481      评论:0      收藏:0      [点我收藏+]

DataView可以帮我们直接获取Distinct数据,

DataTable dataTable;DataView dataView = dataTable.DefaultView;

DataTable dataTableDistinct = dataView.ToTable(true,"FieldName1","FieldName2","...");

//注:其中ToTable()的第一个参数为是否DISTINCT

DataTable MyTable = ds.Tables[2]; //ds为数据集

DataTable dtClone = MyTable.Clone();  //创建新表
DataView dv = new DataView(dtClone);  //用于查找
dv.Sort = "Item";
foreach(DataRow dr in MyTable.Rows)   //单循环, 效率高一点
{
  int rowIndex = dv.FindRow(dr["Item"]);
  if (rowIndex == -1)
  {
    dtClone.ImportRow(dr);  //添加行
    dtClone.Rows[dtClone.Rows - 1] ["Quantity"] = (decimal)MyTable.Compute("Sum(Quantity)", string.Format("Item = ‘{0}‘", dr["Item"].ToString()); //合计
  }
}
dtClone.AcceptChanges();

ds.Tables.Remove(MyTable);  //删除旧表
ds.Tables.Add(dtClone);     //添加新表

dtClone.Rows[dtClone.Rows.Count - 1] ["Quantity"] = (decimal)MyTable.Compute("Sum(Quantity)", string.Format("Item = ‘{0}‘", dr["Item"].ToString()); //合计

原来DataTable的Distinct竟如此简单!

原文:http://www.cnblogs.com/Unrmk-LingXing/p/4081957.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!