Warum willst du das tun? Die Reihenfolge der Spalten sollte eigentlich nicht relevant sein.
Stefan Steinegger
1
Manchmal, wenn Sie der Datentabelle eine Spalte hinzufügen, nachdem Sie die Daten von db erhalten haben, müssen Sie sie möglicherweise beim Betteln festlegen.
Wael Dalloul
1
Ich pusche die Datentabelle in eine Masseneinfügung
Grant
9
@Stefan, ich glaube, die Reihenfolge der Spalten ist relevant, wenn Sql BulkCopy verwendet wird.
IAbstract
Antworten:
177
Mit dem folgenden Code können Sie Datatable in Position 0 eine Spalte hinzufügen:
DataColumnCol= datatable.Columns.Add("Column Name",System.Type.GetType("System.Boolean"));Col.SetOrdinal(0);// to put the column in position 0;
UPDATE: Beachten Sie, dass dies funktioniert, wenn Sie mit der DataColumn nichts anderes tun müssen. Add () gibt die betreffende Spalte zurück, SetOrdinal () gibt nichts zurück.
Single Ligne Statement sind nicht immer besser. In diesem Fall gefällt es mir +1
Rémi
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
Antworten:
Mit dem folgenden Code können Sie Datatable in Position 0 eine Spalte hinzufügen:
quelle
Nur um Waels Antwort zu verbessern und sie in eine einzige Zeile zu setzen:
UPDATE: Beachten Sie, dass dies funktioniert, wenn Sie mit der DataColumn nichts anderes tun müssen. Add () gibt die betreffende Spalte zurück, SetOrdinal () gibt nichts zurück.
quelle
quelle