c# DataView.ToTable()方法 去除表的重复项问题
焦玉丽 人气:0c# DataView.ToTable()方法 去除表的重复项
DataView.ToTable()方法及其重载:
1.DataView.ToTable()
根据现有DataView中的行,创建并返回一个新的DataTable。
2.DataView.ToTable(String)
根据现有DataView中的行,创建并返回一个新的DataTable。参数String为返回的DataTable的名称,输出的表与输入表的列相通,不可自定义。
3.DataView.ToTable(Boolean,String[])
根据现有DataView中的行,创建并返回一个新的DataTable。参数Boolean如果为true,则说有列都具有不同值的行,为false时不去冲,且默认为false。
可自定义返回的列,数组String[]为显示返回列的集合。
例子:
DataView dv = new DataView(table); table = dv.ToTable(true, "ID"); //去重,返回原表中的ID列 //table=dv.ToTable(true,"ID","name"); //返回ID 和 name两列
4.DataView.ToTable(String,Boolean,String[])
根据现有DataView中的行,创建并返回一个新的DataTable。比3多一个参数,可以定义返回表的名称。
C# DataTable合并以及去除重复数据
代码如下:
合并
/// <summary> /// 合并表结构相同datatable数据 /// </summary> public DataTable Mergedata(){ DataTable data = new DataTable(); DataTable deptdata = new DataTable(); data=DBHelper.FillDataTable("select * from T1", null); deptdata=DBHelper.FillDataTable("select * from T2", null); data.Merge(deptdata, true); return data; }
剔除重复数据
/// <summary> /// 去除datatable重复数据 /// </summary> public DataTable distinctdata() { DataTable data = new DataTable(); DataTable distinctdata = new DataTable(); List<string> datarowlist = new List<string>(); string[] datarow; foreach (DataColumn row in data.Columns) //遍历出表头 { datarowlist.Add(row.ToString()); } datarow = datarowlist.ToArray(); DataView dv = new DataView(data); distinctdata = dv.ToTable(true, datarow); //对表所有字段进行过滤,true表示使用distinct方法 return distinctdata; }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容