将DataRow[]转换为DataTable而不丢失其DataSet

3

我正在使用C#中的DataSets和DataTables。

我的第一个问题是如何将DataRow[]对象转换为DataTable,我通过以下链接解决了这个问题:

simple-way-to-convert-datarow-array-to-datatable

所以,我做的是以下内容:

// Gets the rows according to the relation
DataRow[] rows = someDataRow.GetChildRows("the_table_relation");
DataTable newDataTable = rows.CopyToDataTable<DataRow>();    

我所处理的所有数据都在一个单一的DataSet中,因此我的问题是,我的对象newDataTable不再包含对我的DataSet的引用(即newDataTable.DataSet等于null)。

有没有一种方法可以在不失去对我的DataSet的引用的情况下进行转换?

希望有人能帮助我。

提前致谢。


请告诉我们更多关于您已经拥有的 DataSet 的信息... - Bruno Brant
没什么特别的,只是一个包含一些表和它们之间关系的 DataSet。 - Dante
3个回答

11

1
谢谢您的回复,但不幸的是由于某些原因,我需要将DataRow[]对象转换为一个新的DataTable,而不丢失其DataSet引用。 - Dante

4
 DataView DV = MyDataTable.AsDataView();
 DV.RowFilter = "Id = '" + RecordId + "'";
 DataTable newDataTable = DV.ToTable();

1

我相信解决方案可能包含在Jon Skeet的回答中dataSet.Tables.Add(newDataTable)

问题是newDataTable没有一个DataSet子控件,而是一个DataSet父控件。也就是说,一个DataSet可以包含Tables,而newDataTable的DataSet是"拥有newDataTable的DataSet",在上面创建的表格的情况下,直到添加到一个DataSet之前是null。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接