Я хочу преобразовать DataRow
массив в DataTable
... Как это проще всего сделать?
99
Почему бы не перебрать ваш массив DataRow и не добавить (используя DataRow.ImportRow, если необходимо, чтобы получить копию DataRow), что-то вроде:
foreach (DataRow row in rowArray) {
dataTable.ImportRow(row);
}
Убедитесь, что ваш dataTable имеет ту же схему, что и DataRows в вашем массиве DataRow.
DataTable dataTable = new DataTable(); dataTable.ImportRow(dataRow); MyControl.DataSource = dataTable;
rowArray.CopyToDataTable();
потому, что это сохраняет схему таблицы и не заменяет ее новым объектом таблицы!Для .Net Framework 3.5+
Но если в массиве нет строк, это может вызвать такие ошибки, как «Источник не содержит строк данных» . Поэтому, если вы решите использовать этот метод
CopyToDataTable()
, вам следует проверить массив, чтобы узнать, есть ли в нем строки данных или нет.Ссылка доступна в MSDN: DataTableExtensions.CopyToDataTable Method (IEnumerable)
источник
copyToDataTable()
? Я не нашел его в .net 2.0copyToDataTable()
метод создает точную копию столбцов выбранных строк, аdatatable.ImportRow(row)
метод не делаетисточник
Input array is longer than the number of columns in this table.
". Ошибка версии With-Clone: "Unable to cast object of type 'System.Data.DataRow' to type 'System.IConvertible'.Couldn't store <System.Data.DataRow> in StoreOrder Column. Expected type is Int64.
" Примечание:StoreOrder
это первый столбец в схеме таблицы. Похоже, он пытается втиснуть всю строку данных в первую колонкуДругой способ - использовать DataView
источник
Простой способ:
источник
источник
источник
источник
.Net 3.5+ добавил DataTableExtensions, используйте метод DataTableExtensions.CopyToDataTable
Для массива datarow просто используйте .CopyToDataTable (), и он вернет данные.
Для одиночного использования datarow
источник
Вот решение. Должно работать нормально.
источник
Если кому-то это нужно в VB.NET:
источник
Вы можете использовать System.Linq так:
источник
Вам нужно сначала клонировать структуру таблицы данных, а затем импортировать строки с помощью цикла for
источник
источник