有一个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);