有一个dataset DS。
如果我想将DS中的某一行复制,得到新的一行,添加到DS中。
可能就会想到:
DS.Tables[0].Rows.Add(DS.Tables[0].Rows[i])
但是这样程序会报错,提示该dataset中已经包含这一datarow。
提供以下属性:
Ds.Tables[0].Rows[0].ItemArray
通过一个数组来获取或设置此行的所有值。
这样实现上边问题,就可以:
DS.Tabels[0].Rows.Add(DS.Table[0].Rows[i].ItemArray);
这样即可实现将DS中的第一个dataTable的第i行复制得到新的一行,并将其添加到DS的第一个dataTable中。
System.Data.DataSet dsTrue = ds.Clone(); System.Data.DataSet dsFalse = ds.Clone(); DataRow dr = ds.Tables[0].NewRow(); for (int i = 0; i < iCount; i++) { if (ds.Tables[0].Rows[i]["IsChange"].Equals("是")) { dsTrue.Tables[0].Rows.Add(ds.Tables[0].Rows[i].ItemArray); } else if (ds.Tables[0].Rows[i]["IsChange"].Equals("否")) { dsFalse.Tables[0].Rows.Add(ds.Tables[0].Rows[i].ItemArray); } } dsMerge.Merge(dsTrue); dsMerge.Merge(dsFalse);