LNSQ_CSST

 

怎样向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);

 

 

posted on 2010-06-11 10:18  -- --  阅读(547)  评论(0编辑  收藏  举报

导航