Я пытаюсь добавить новый столбец к уже существующему DataTable с помощью C#.Скопируйте DataRow с дополнительным столбцом
Лучшее, что я мог сделать, это на самом деле копировать каждый DataRow
, как объяснено в here и here, но не имели успеха, так как ответы на эти вопросы определенно сказать, что оба DataTable
должны иметь одинаковые столбцы. Всякий раз, когда я пытаюсь добавить любые значения в новый столбец (который находится в конце нового DataTable по имени dt
Я оставил с DataTable с тем же числом строк, но нет значения вообще.
foreach (DataRow dr in ret.Rows)
{
dt.Rows.Add(dr.ItemArray, "1");
}
ret
является DataTable с X столбцов и N строк
dt
является DataTable с X + 1 столбцов и N строк
yep. Так оно и было. Я немного беспокоюсь о производительности, которую я мог бы получить, но она работает. Благодаря! –
@MiquelColl: производительность не является проблемой. Все методы .NET, такие как 'DataTable.ImportRow', используют аналогичные циклы, но с дополнительными накладными расходами. –
@MiquelColl: но была ошибка, я использовал 'dr.SetField' вместо' row.SetField'. Я также предложил другой подход. –