如果我有2个DataTables(dtOne和dtTwo),我想合并它们并将它们放在另一个DataTable(dtAll)中。我怎么能在C#中做到这一点?我在数据表上尝试了Merge语句,但是返回void。合并是否保留数据?例如,如果我这样做:
dtOne.Merge(dtTwo);
dtOne是更改还是dtTwo更改,如果其中任何一个更改,更改是否保留?
我知道我不能这样做,因为Merge返回void,但我希望能够在dtAll中存储dtOne和dtTwo的合并:
//Will Not work, How do I do this
dtAll = dtOne.Merge(dtTwo);
答案 0 :(得分:90)
Merge
方法获取第二个表中的值并将它们与第一个表合并,因此第一个表现在将保存两个值。
如果要保留两个原始表,可以先复制原始表,然后合并:
dtAll = dtOne.Copy();
dtAll.Merge(dtTwo);
答案 1 :(得分:11)
答案 2 :(得分:1)
DataTable dtAll = new DataTable();
DataTable dt= new DataTable();
foreach (int id in lst)
{
dt.Merge(GetDataTableByID(id)); // Get Data Methode return DataTable
}
dtAll = dt;
答案 3 :(得分:0)
这是我为合并两个数据表并将最终结果绑定到gridview
所做的 DataTable dtTemp=new DataTable();
for (int k = 0; k < GridView2.Rows.Count; k++)
{
string roomno = GridView2.Rows[k].Cells[1].Text;
DataTable dtx = GetRoomDetails(chk, roomno, out msg);
if (dtx.Rows.Count > 0)
{
dtTemp.Merge(dtx);
dtTemp.AcceptChanges();
}
}