DataTable中添加属于另一个DataTable的DataRow

我们经常需要向DataTable中添加一行数据,大多数的情况下都是把一些从UI的控件和程序的变量中收集的数据添加到DataTable中。如以下的语句把供应商代码和名称添加到DataTable中:

 
DataTable dtProvider =  new  DataTable();
            DataRow drRow = dtProvider.NewRow();
            drRow[
0 ] = txtProviderCode.Text.Trim();
            drRow[
1 ] = txtProviderName.Text.Trim();
            dtProvider.Rows.Add(drRow);
 
 
大多数的情况下这几行语句是完全可以满足要求的。但是如果想把另一个同样结构的 DataTable 的某一行添加到这个 dtProvider 中,就不能简单的添加了。否则会提示一个错误 “This row belongs to another table.” 。这个时候我们必须定义另一个 DataRow ,把源 DataRow 的数据赋到目的 DataRow 中,再 Add DataTable 中就可以了。 如下所示:
 
代码

 DataTable dtProvider = 
new  DataTable();
            DataRow drTarget = dtProvider.NewRow();
            drTarget.ItemArry = drSource.ItemArry;
            
//  注意:这里的 drSource 是另一个相同结构的 DataTable 中的一行。
            dtProvider.Rows.Add(drTarget);

你可能感兴趣的:(Datatable)