2009-08-27 7 views
83

est-ce que quelqu'un sait la meilleure façon d'insérer une colonne dans un datatable à la position 0?C# colonne d'insertion datable à la position 0

+0

Pourquoi voulez-vous faire cela? L'ordre des colonnes ne devrait pas être pertinent. –

+1

Parfois, si vous ajoutez une colonne au datatable après avoir obtenu les données de DB, vous devrez peut-être le définir au début. –

+1

im pusing le datatable dans un insert en vrac – Grant

Répondre

141

Vous pouvez utiliser le code suivant pour ajouter la colonne à Datatable à postion 0:

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

Juste pour améliorer la réponse de Wael et de le mettre sur une seule ligne:

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

MISE À JOUR: Notez que Cela fonctionne lorsque vous n'avez rien d'autre à faire avec DataColumn. Add() renvoie la colonne en question, SetOrdinal() ne renvoie rien.

+10

déclaration de ligne unique ne sont pas toujours mieux. Dans ce cas je l'aime +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 
Questions connexes