2009-08-27 4 views
83

czy ktoś wie najlepszy sposób wstawienia kolumny w datatable na pozycji 0?C# datatable wstaw kolumna w pozycji 0

+0

Dlaczego chcesz to zrobić? Kolejność kolumn nie powinna być istotna. –

+1

czasami, jeśli dodajesz kolumnę do datatable po pobraniu danych z db, możesz ustawić to na początku. –

+1

im pusing datatable w bulk insert – Grant

Odpowiedz

141

można użyć poniższy kod, żeby dodać kolumnę DataTable w świetnym miejscu 0:

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

Żeby poprawić odpowiedź Wael i umieścić je w jednym wierszu:

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

UPDATE: Należy pamiętać, że działa to, gdy nie trzeba robić nic więcej z DataColumn. Add() zwraca daną kolumnę, SetOrdinal() nic nie zwraca.

+10

pojedyncza instrukcja ligne nie są zawsze lepsze. W tym przypadku podoba mi się +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