DataTable TableName = DataView.ToTable ("TableName") не будет работать - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь сделать копию DataTable с другим TableName. Я использовал это в прошлом без проблем, и код из прошлого прекрасно работает сегодня. Когда я пытаюсь использовать точно такой же код, таблица будет добавлена ​​в DataSet, но нет данных или имен столбцов.

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 часа на это безрезультатно. Что я мог упустить?

1 Ответ

1 голос
/ 13 января 2020

согласно определению Add(string DataTable name), вы создаете новую / пустую таблицу в наборе данных, которая не имеет ничего общего с DataTable Parts_Kit.

В соответствии с документацией MS , которую вы хотите использовать,

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

Это добавит таблицу, созданную вами из представления (Parts_Kit), к DataTableCollection, dataSet. Чтобы проверить это, вы можете напечатать Parts_Kit.TableName, чтобы увидеть, является ли оно правильным именем "Parts_Kit" (из команды ToTable("Parts_Kit")).

...