C#数据表插入列在位置0


105

有谁知道在位置0的数据表中插入列的最佳方法?


你为什么要这样做?列的顺序实际上应该无关紧要。
Stefan Steinegger,2009年

1
有时,如果您是在从db获取数据后将列添加到数据表中,则可能需要在开始时设置它。
Wael Dalloul 09年

1
我会将数据表插入批量插入文件中
Grant在2009年

9
@Stefan,我相信使用Sql BulkCopy时列的顺序是相关的。
IAbstract 2010年

Answers:


177

您可以使用以下代码将列添加到数据表的位置0:

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

93

只是为了改善Wael的答案并将其放在一行上:

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

更新:请注意,当您不需要对DataColumn进行任何其他操作时,此方法将起作用。Add()返回有问题的列,SetOrdinal()不返回任何内容。


15
单个ligne语句并不总是更好。在这种情况下,我喜欢它+1
雷米

2
    //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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.