过滤DataTable的Rows的重复值

原创 2007年09月14日 08:47:00

 

// 方法1
string sFormater = "{0}, {1}";
string sKeys = null;
string sPrevKeys = null;
// Key项目排序
DataRow[] rows = table.Select("""Key0, Key1");
foreach (DataRow row in rows)
{
sKeys 
= string.Format(sFormater, row["Key0"].ToString(), row["Key1"].ToString());
if (!sKeys.Equals(sPrevKeys))
{
tagetTable.ImportRow(row);
}

sPrevKeys 
= sKeys;
}


 
// 方法2
string sSelectFormater = "{0}, {1}";
foreach (DataRow row in table.Rows)
{
if (tagetTable.Select(string.Format(sSelectFormater, "Key0""Key1")).Length == 0)
{
tagetTable.ImportRow(row);
}

}


table 
= tagetTable;

// 方法3
string sFormater = "{0}, {1}";
DataRow row;
string sSelectFormater = "Key0 = {0}, Key1 = {1}";
for (int i = 0; i < table.Rows.Count; i++)
{
if (table.Select(string.Format(sSelectFormater, row["Key0"].ToString(), row["Key1"].ToString())).Length > 1)
{
table.Rows.Remove(row);
i
--;
}

}


// 方法3少一行
...
row 
= table.Rows[i];
...

// 方法4
DataView view = table.DefaultView;
DataTable tagetTable
= view.ToTable(true"column1""column2", ...);

方法4是最简单的方法,感觉很聪明的使用了dataview的toTable方法。

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Linq实现DaTaTable或者List里面数据值不重复

在回答论坛有个某列不重复的值为条件获取数据的问题,二

vs2005针对datatable已经有封装好的去重复方法:

1 //去掉重复行 2 DataView dv = table.DefaultView; 3 table = dv.ToTable(true, new string[] { "name", "code...

DataTable select() 的使用;DataTabel中distinct用法去重复的的字段或者记录

DataTabel中distinct 在.NET Framework2.0中,选择DataTable等数据源中的唯一值(类似SQL中Distinct的返回结果)非常简单,如下即可: DataT...

DataTable相关操作,筛选,取前N条数据,去重复行,获取指定列数据

#region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// /// DataTable筛选,...

C#中合并DataTable中重复行

using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; us...

获取对固定列不重复的新DataTable

#region 获取对固定列不重复的新DataTable /// /// 获取对固定列不重复的新DataTable /// /// 含有重复...

C# DataTable 合并重复字段为一行

数据源: C#代码 /// /// 合并重复的跟踪号为一行 /// /// 所有数据 /// 返回合并后的数据 public DataTable ReturnMer...

在Datatable,DataView和DataGridView中不显示重复的记录

 在Datatable,DataView和DataGridView中不显示重复的记录 其中,对于直接在查询语句中使用distinct不作过多说明,主要从代码层角度实现 方法一,在加载数据...

oracle分析函数系列之sum() rows/range between ... preceding and ... following,上下范围内求值

Oracle为这种情况提供了一个子句:rows between ... preceding and ... following。从字面上猜测它的意思是:在XXX之前和XXX之后的所有记录,实际情况如何...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)