почему ты хочешь сделать это? Порядок столбцов на самом деле не имеет значения.
Стефан Штайнеггер,
1
иногда, если вы добавляете столбец в таблицу данных после получения данных из базы данных, вам может потребоваться установить его при попрошайничестве.
Wael Dalloul
1
Я вставляю данные в массовую вставку
Грант
9
@Stefan, я считаю, что порядок столбцов имеет значение при использовании Sql BulkCopy.
IAbstract
Ответы:
177
Вы можете использовать следующий код, чтобы добавить столбец в Datatable в позиции 0:
DataColumnCol= datatable.Columns.Add("Column Name",System.Type.GetType("System.Boolean"));Col.SetOrdinal(0);// to put the column in position 0;
ОБНОВЛЕНИЕ: обратите внимание, что это работает, когда вам не нужно больше ничего делать с DataColumn. Add () возвращает соответствующий столбец, SetOrdinal () ничего не возвращает.
одинарное заявление не всегда лучше. В этом случае мне нравится +1
Реми
2
//Example to define how to do :DataTable dt =newDataTable();
dt.Columns.Add("ID");
dt.Columns.Add("FirstName");
dt.Columns.Add("LastName");
dt.Columns.Add("Address");
dt.Columns.Add("City");// The table structure is://ID FirstName LastName Address City//Now we want to add a PhoneNo column after the LastName column. For this we use the //SetOrdinal function, as iin:
dt.Columns.Add("PhoneNo").SetOrdinal(3);//3 is the position number and positions start from 0.`enter code here`//Now the table structure will be:// ID FirstName LastName LastName PhoneNo Address City
Ответы:
Вы можете использовать следующий код, чтобы добавить столбец в Datatable в позиции 0:
источник
Просто чтобы улучшить ответ Ваэля и поместить его в одну строку:
ОБНОВЛЕНИЕ: обратите внимание, что это работает, когда вам не нужно больше ничего делать с DataColumn. Add () возвращает соответствующий столбец, SetOrdinal () ничего не возвращает.
источник
источник