,我想合并成一个newdatatable,
名称,规格型号相同时“数量”合计
10 个解决方案
#1
Table.Merge();
#2
能说详细点吗
#3
参考http://blog.csdn.net/educast/article/details/3341620
#4
public DataTable GetAllDataTable(DataSet ds)
{
DataTable newDataTable = ds.Tables[0].Clone(); //创建新表 克隆以有表的架构。
object[] objArray = new object[newDataTable.Columns.Count]; //定义与表列数相同的对象数组 存放表的一行的值。
for (int i = 0; i < ds.Tables.Count; i++)
{
for (int j = 0; j < ds.Tables[i].Rows.Count; j++)
{
ds.Tables[i].Rows[j].ItemArray.CopyTo(objArray, 0); //将表的一行的值存放数组中。
newDataTable.Rows.Add(objArray); //将数组的值添加到新表中。
}
}
return newDataTable; //返回新表。
}
#5
相同产品名称,规格型号的数据只显示一条,数量相加就可以
#6
用Linq或者自己先排序后循环遍历相加。Merge方法肯定不行,那个是覆盖,不能相加,而蝶恋花雨的方法更荒唐,是在复制一张新表,答非所问。
#7
Linq 吧!
.Merge不是覆盖麽?
4楼的复制新表。
不要误人子弟呀!
.Merge不是覆盖麽?
4楼的复制新表。
不要误人子弟呀!
#8
先克隆一个新表结构
然后一次性merge第一个Table,
然后再循环添加第二个Table,判断之前的Table里有无相同的记录,如果有,计算值
然后一次性merge第一个Table,
然后再循环添加第二个Table,判断之前的Table里有无相同的记录,如果有,计算值
#9
DataTable有分组汇总功能
可以将两个DataTable先合在一起,然后再分组汇总一下
可以将两个DataTable先合在一起,然后再分组汇总一下
#10
一般这些事情,应该放在数据库做.而且实现起来很方便,如果硬要是使用dataTable内存表 分析出来,会比较麻烦而且效率没有前者高.
#1
Table.Merge();
#2
能说详细点吗
#3
参考http://blog.csdn.net/educast/article/details/3341620
#4
public DataTable GetAllDataTable(DataSet ds)
{
DataTable newDataTable = ds.Tables[0].Clone(); //创建新表 克隆以有表的架构。
object[] objArray = new object[newDataTable.Columns.Count]; //定义与表列数相同的对象数组 存放表的一行的值。
for (int i = 0; i < ds.Tables.Count; i++)
{
for (int j = 0; j < ds.Tables[i].Rows.Count; j++)
{
ds.Tables[i].Rows[j].ItemArray.CopyTo(objArray, 0); //将表的一行的值存放数组中。
newDataTable.Rows.Add(objArray); //将数组的值添加到新表中。
}
}
return newDataTable; //返回新表。
}
#5
相同产品名称,规格型号的数据只显示一条,数量相加就可以
#6
用Linq或者自己先排序后循环遍历相加。Merge方法肯定不行,那个是覆盖,不能相加,而蝶恋花雨的方法更荒唐,是在复制一张新表,答非所问。
#7
Linq 吧!
.Merge不是覆盖麽?
4楼的复制新表。
不要误人子弟呀!
.Merge不是覆盖麽?
4楼的复制新表。
不要误人子弟呀!
#8
先克隆一个新表结构
然后一次性merge第一个Table,
然后再循环添加第二个Table,判断之前的Table里有无相同的记录,如果有,计算值
然后一次性merge第一个Table,
然后再循环添加第二个Table,判断之前的Table里有无相同的记录,如果有,计算值
#9
DataTable有分组汇总功能
可以将两个DataTable先合在一起,然后再分组汇总一下
可以将两个DataTable先合在一起,然后再分组汇总一下
#10
一般这些事情,应该放在数据库做.而且实现起来很方便,如果硬要是使用dataTable内存表 分析出来,会比较麻烦而且效率没有前者高.