c# DataView.ToTable()方法 去除表的重复项问题

目录
  • c# DataView.ToTable()方法 去除表的重复项
    • 1.DataView.ToTable()
    • 2.DataView.ToTable(String)
    • 3.DataView.ToTable(Boolean,String[])
    • 4.DataView.ToTable(String,Boolean,String[])
  • C# DataTable合并以及去除重复数据
    • 合并
    • 剔除重复数据
  • 总结

c# 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;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C#中datatable去重的方法

    本文实例讲述了C#中datatable去重的方法,分享给大家供大家参考.具体方法如下: 这里主要介绍两种方法: 1  数据库直接去除重复 复制代码 代码如下: select  distinct * from 表名 去除了重复行distinct 2 对 DataTable直接进行操作 复制代码 代码如下: DataTable  dt=db.GetDt("select * from 表名");//获得datatable DataView dv = new DataView(dt);//虚拟

  • C#过滤DataTable中空数据和重复数据的示例代码

    C#过滤DataTable中的空数据和重复数据 string sql = "select name,age from user"; DataTable data = DB.ExecuteDataTable(string.Format(sql)); //得到DataTable // ------------start 去重------------------- string[] distinctcols = new string[(data.Columns.Count)]; foreac

  • datatable去掉重复行的方法

    去掉DataTable中(所有列的数据都相同)重复的行: 复制代码 代码如下: //DataView dv = dt3.DefaultView;     //dt3默认的虚拟视图 //dv.Sort = "wmid asc"; //排序 ///dv.ToTable(true, "列名,列名,列名"); ///第一个参数,true  去除重复,false 不去除 ///第二个参数,需要显示的字段 DataView dv = new DataView(dtname); 

  • c# DataView.ToTable()方法 去除表的重复项问题

    目录 c# DataView.ToTable()方法 去除表的重复项 1.DataView.ToTable() 2.DataView.ToTable(String) 3.DataView.ToTable(Boolean,String[]) 4.DataView.ToTable(String,Boolean,String[]) C# DataTable合并以及去除重复数据 合并 剔除重复数据 总结 c# DataView.ToTable()方法 去除表的重复项 DataView.ToTable()

  • JS简单去除数组中重复项的方法

    本文实例讲述了JS简单去除数组中重复项的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var arr = ["aaa","bb

  • JS基于对象的特性实现去除数组中重复项功能详解

    本文实例讲述了JS基于对象的特性实现去除数组中重复项功能.分享给大家供大家参考,具体如下: 数组去重的方法有很多,不同的方法的效率也不相同.如前面文章JS实现的数组去除重复数据算法小结中就总结分析了4种实现方法.这里介绍一种高效数组去重的方法:根据JS对象的特性去除数组中重复项的方法. 一.JS对象的特性(本文中所使用的特性):key始终唯一 引例:说明对象key值的唯一性,即当重新给js已有属性赋值的时候,实际上是覆盖了key,而不是新建了key var t={name:'张三',age:20

  • asp下去除数组中重复项的方法

    复制代码 代码如下: <%Function MoveR(Rstr) Dim i,SpStr SpStr = Split(Rstr,",") For i = 0 To Ubound(Spstr) If I = 0 then MoveR = MoveR & SpStr(i) & "," Else If instr(MoveR,SpStr(i))=0 and i=Ubound(Spstr) Then MoveR = MoveR & SpStr

  • javascript模拟map输出与去除重复项的方法

    本文实例讲述了javascript模拟map输出与去除重复项的方法.分享给大家供大家参考.具体方法如下: 1.Javascriptmap输出 function Map(){ // private var obj = {} ;// 空的对象容器,承装键值对 // put 方法 this.put = function(key , value){ obj[key] = value ;// 把键值对绑定到obj对象上 } // size 方法 获得map容器的个数 this.size = functio

  • Oracle表中重复数据去重的方法实例详解

    Oracle表中重复数据去重的方法实例详解 我们在项目中肯定会遇到一种情况,就是表中没有主键 有重复数据 或者有主键 但是部分字段有重复数据 而我们需要过滤掉重复数据 下面是一种解决方法 delete from mytest ms where rowid in (select aa.rid from (select rowid as rid, row_number() over(partition by s.name order by s.id) as nu from mytest s) aa

  • JavaScript合并两个数组并去除重复项的方法

    本文实例讲述了JavaScript合并两个数组并去除重复项的方法.分享给大家供大家参考.具体实现方法如下: Array.prototype.unique = function() { var a = this.concat(); for(var i=0; i for(var j=i+1; j if(a[i] === a[j]) a.splice(j, 1); } } return a; }; //Demo var array1 = ["a","b"]; var ar

  • Python去除列表中重复元素的方法

    本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还有一种据说速度更快的,没测试过两者的速度差别 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 这两种都有个缺点,祛除重复元素后排序变了: ['a', 'c',

  • JS实现合并两个数组并去除重复项只留一个的方法

    本文实例讲述了JS实现合并两个数组并去除重复项只留一个的方法.分享给大家供大家参考,具体如下: //It's merge arr1 and arr2 , delete the same element only leave one //It's only apdapter array. If object, no. //The sequence of the two array is not required. mergeArray:function (arr1, arr2){ for (var

  • JavaScript基于对象去除数组重复项的方法

    本文实例讲述了JavaScript基于对象去除数组重复项的方法.分享给大家供大家参考,具体如下: JavaScript中,去除数组重复项是一个很常用的函数,而且在面试中也很经常被提问到.很多人在面对这个问题的时候,一般都是采用多层for循环来一步一步的比较,然后删除,那样不仅代码量很多,而且性能也很不好.在JavaScript的对象中,有一个特性就是key永远不重复,如果重复后面的就会覆盖前面的. 三个步骤: 1# 把数组转换成js对象 2# 把数组值变成js对象中的key 3# 把对象还原成数

随机推荐