c#中合并DataTable重复行的值
c#中合并DataTable重复行的值
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下://DataTable数据添加Hashtableht=newHashtable();DataTabledt=newData...

复制代码 代码如下:

//DataTable数据添加

Hashtable ht = new Hashtable();

DataTable dt = new DataTable();

DataColumn dc = new DataColumn("id");

dt.Columns.Add(dc);

dc = new DataColumn("name");

dt.Columns.Add(dc);

dc = new DataColumn("values");

dt.Columns.Add(dc);

DataRow dr = dt.NewRow();

dr["id"] = 1;

dr["name"] = "张三";

dr["values"] = "A";

dt.Rows.Add(dr);

dr = dt.NewRow();

dr["id"] = 2;

dr["name"] = "李四";

dr["values"] = "B";

dt.Rows.Add(dr);

dr = dt.NewRow();

dr["id"] = 3;

dr["name"] = "张三";

dr["values"] = "C";

dt.Rows.Add(dr);

dataGridView1.DataSource = dt;

//合并

for (int i = 0; i < dt.Rows.Count; i++ )

{

if (ht.ContainsKey(dt.Rows[i]["name"]))

{

//获取行索引

int index = (int)ht[dt.Rows[i]["name"]];

//获取最近一次的值(对应values)

string str = (string)dt.Rows[index]["values"];

//拼接

dt.Rows[index]["values"] = str + "|" + dt.Rows[i]["values"];

//删除重复行

dt.Rows.RemoveAt(i);

//调整索引减1

i--;

}

else

{

//保存名称以及行索引

ht.Add(dt.Rows[i]["name"], i);

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类