2009-08-27 4 views
83

Кто-нибудь знает, как лучше вставить столбец в datatable в позиции 0?C# datatable insert column в позиции 0

+0

Зачем вы хотите это сделать? Порядок столбцов на самом деле не имеет значения. –

+1

иногда, если вы добавляете столбец в datatable после получения данных из db, вам может потребоваться установить его при попрошайничестве. –

+1

im pusing datatable в объемную вставку – Grant

ответ

141

Вы можете использовать следующий код для добавления столбца в Datatable в постион 0:

DataColumn Col = datatable.Columns.Add("Column Name", System.Type.GetType("System.Boolean")); 
    Col.SetOrdinal(0);// to put the column in position 0; 
69

Просто, чтобы улучшить ответ Waël и поставить его на одной строке:

dt.Columns.Add("Better", typeof(Boolean)).SetOrdinal(0); 

UPDATE: Обратите внимание, что это работает, когда вам не нужно ничего делать с DataColumn. Команда Add() возвращает столбец, SetOrdinal() ничего не возвращает.

+10

Одиночная формулировка ligne не всегда лучше. В этом случае мне нравится +1 –

-1
//Example to define how to do : 

    DataTable dt = new DataTable(); 

    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