0

我的问题很简单。我有 2 个数据集,我想将它们添加在一起,使 DataSet1 的表 [1] 的第一个单元格的值与数据集 2 的表 [1] 的第一个单元格的值连接。

例如,假设在 DataSet1 的 Table[1] 的第一个单元格值为01,DataSet2 的 Table[1] 的第一个单元格值为General Requirements,我想组合(连接)来自 2 个不同数据集的这两个值以存储在第三个数据集的表 [1] 的第一个单元格为01,General Requirements.

4

4 回答 4

0
//get column 1 data to a list from dataset1
var list1 = ds1.Tables[0].AsEnumerable().Select(x => x[0].ToString());
//get column 1 data to a list from dataset2
var list2 = ds2.Tables[0].AsEnumerable().Select(x => x[0].ToString());
//merge two list items 
var mergedList = list1.Zip(list2, (a, b) => a + " ," + b);
// create new datatable 
DataTable dt = new DataTable();
dt.Columns.Add("ColumnName", typeof(string)); // give proper column name
foreach (string item in mergedList)
{
    dt.Rows.Add(item); // add each item as row 
}
DataSet ds3 = new DataSet(); 
// add newly created table to dataset 3
ds3.Tables.Add(dt);
于 2013-07-29T09:24:50.333 回答
0
  1. 我不明白你的要求,但这是你所期望的吗?

var ds1=new DataSet(); var ds2=new DataSet(); ds1.Tables.Add(ds2.Tables[1]);

  1. 您可以使用合并两个数据集 ds1.Merge(ds2)
于 2013-07-29T08:49:40.827 回答
0

执行此操作的方法之一:

for (int i = 0; i < dataset2.Tables[0].Rows.Count; i++)
  dataset1.Tables[0].Rows[i][0] = 
          dataset1.Tables[0].Rows[i][0] + "," + dataset2.Tables[0].Rows[i][0];

这将连接dataset2第一个表的第一列和dataset1第一个表的第一列。请注意,我假设这些列是string数据类型。您可能需要检查null等。

于 2013-07-29T08:48:06.443 回答
0

尝试

DataSet.Merge() // DataSet

更多注释http://msdn.microsoft.com/en-us/library/system.data.dataset.merge.aspx ...如果您的代码正常工作,请接受答案

于 2013-07-29T08:45:19.640 回答