DataTable TableName = DataView.ToTable("TableName") 将不起作用

DataTable TableName = DataView.ToTable("TableName") will not work

我正在尝试使用不同的 TableName 制作 DataTable 的副本。我过去使用过这个没有问题,过去的代码今天工作得很好。当我尝试使用完全相同的代码时,table 将添加到数据集中,但没有数据或列名。

DataView dv = dataSet.Tables["Traveler"].DefaultView;   /// the dataview is exactly like the datatable
DataTable Parts_Kit = dv.ToTable("Parts_Kit");          /// the new datatable has no data or columns
dataSet.Tables.Add("Parts_Kit");                        /// Parts_Kit is added to dataset but completly blank

我已经为此苦苦思索了 4 个小时,但没有任何结果。我可能遗漏了什么?

根据 Add(string DataTable name) 的定义,您正在数据集中创建一个与 DataTable Parts_Kit 无关的新/空白 table。

同样,根据MS documentation,你想使用,

dataSet.Tables.Add(Parts_Kit); // without quotes around Parts_Kit.

这会将您从视图 (Parts_Kit) 创建的 table 添加到 DataTableCollectiondataSet。同样要对此进行测试,您可以打印 Parts_Kit.TableName 以查看它是否是正确的 "Parts_Kit" 名称(来自 ToTable("Parts_Kit") 命令)。