All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
asp.net2.0指定和禁用主题
动态网页技术PHP通过参数来生成MYSQL语句类_php资料_编程技术
PHP5中的this,self和parent关键字详解_[PHP教程]
VS2005和ASP.NET2.0中使用强类型数据_[Asp.Net教程]
PHP,5.0,的变化与PHP,6.0,展望_php资料_编程技术
SQL,Server了解你的服务器的状态_[SQL,Server教程]
asp.net2.0页面数据缓存的应用实例
JS开发字典探测用户名或密码工具_JavaScript技术_编程技术
单击gridview中记录在右下方显示详细信息_[Asp.Net教程]
浅谈同页面用多个id_[Html教程]
Reading number is top 10 pictures
Wear bikinis cock
Nikon microscopic photography of the first three
毕姥爷事件,告诉你6条真理
美女就是美女
乳娘帕梅拉安德森1
30 beautiful school beauty5
日本小萝莉1
In the world the most mysterious 21 place landscape1
Beauty ZhiHuiLin2
壮丽的云彩2
Download software ranking
Proficient in Eclipse
双旗镇刀客B
Twenty piece of palm leaf
Boxer vs Yellow1
金山office2007
超级战舰
Desire a peach blossom
Eclipse 4.2.2 For Win32
Unix video tutorial1
C++教程第四版
delv published in(发表于) 2014/1/10 6:29:05 Edit(编辑)
C#中同一DataTable中合并相同条件的行数据_[Asp.Net教程]

C#中同一DataTable中合并相同条件的行数据_[Asp.Net教程]

C#中同一DataTable中合并相同条件的行数据_[Asp.Net教程]

工作中碰到了如题的问题,静下心来研究了一下,如下代码:


using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.Data;


namespace ConsoleApplication1
{
class Program
{
public static DataTable tabTemp = new DataTable();
public static DataRow drTemp = null;
public static DataTable dt = new DataTable();
static void Main(string[] args)
{
dt.Columns.Add("a", typeof(String));
dt.Columns.Add("b", typeof(String));
dt.Columns.Add("c", typeof(String));
dt.Columns.Add("d", typeof(String));

DataRow dr = null;
dr = dt.NewRow();
dr[0] = "1";
dr[1] = "1";
dr[2] = "1";
dr[3] = "1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "1";
dr[1] = "2";
dr[2] = "2";
dr[3] = "2";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "1";
dr[1] = "3";
dr[2] = "3";
dr[3] = "3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "2";
dr[1] = "1";
dr[2] = "1";
dr[3] = "1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "2";
dr[1] = "1";
dr[2] = "1";
dr[3] = "1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "3";
dr[1] = "1";
dr[2] = "1";
dr[3] = "1";
dt.Rows.Add(dr);
Console.WriteLine(dt.Columns[0].ColumnName + " " + dt.Columns[1].ColumnName + " " + dt.Columns[2].ColumnName + " " + dt.Columns[3].ColumnName + " ");
for (int l = 0; l < dt.Rows.Count; l++)
{
Console.WriteLine(dt.Rows[l][0].ToString() + " " + dt.Rows[l][1].ToString() + " " + dt.Rows[l][2].ToString() + " " + dt.Rows[l][3].ToString() + " ");
}
for (int j = 0; j < dt.Columns.Count; j++)
{
tabTemp.Columns.Add(dt.Columns[j].ColumnName, dt.Columns[j].DataType);
}
FindComValue();

Console.WriteLine(tabTemp.Columns[0].ColumnName + " " + tabTemp.Columns[1].ColumnName + " " + tabTemp.Columns[2].ColumnName + " " + tabTemp.Columns[3].ColumnName + " ");
for (int k = 0; k < tabTemp.Rows.Count; k++)
{
Console.WriteLine(tabTemp.Rows[k][0].ToString() + " " + tabTemp.Rows[k][1].ToString() + " " + tabTemp.Rows[k][2].ToString() + " " + tabTemp.Rows[k][3].ToString() + " ");
}
Console.Read();




}

static void FindComValue()
{
if (dt.Rows.Count > 0)
{
string row1 = dt.Rows[0][0].ToString();//取表的第一行第一列
DataRow[] drr = dt.Select("a=" + row1);
drTemp = tabTemp.NewRow();//临时新的行
foreach (DataRow row in drr)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
if (i != 0)
{
if (drTemp[i].ToString().Trim() == "")
drTemp[i] = "0";
drTemp[i] = Convert.ToString(Convert.ToDouble(drTemp[i].ToString()) + Convert.ToDouble(row[i].ToString()));//合并每一列的数据
}
else
{
drTemp[i] = row[i].ToString();//添加第一列,不需要相加
}
}
dt.Rows.Remove(row);//清除此类的行
}
tabTemp.Rows.Add(drTemp);//添加临时新的行数据
FindComValue();
}
}


}
}

来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.