c # คอลัมน์แทรกข้อมูลที่ตำแหน่ง 0


105

มีใครรู้วิธีที่ดีที่สุดในการแทรกคอลัมน์ใน datatable ที่ตำแหน่ง 0?


ทำไมคุณถึงต้องการทำเช่นนี้? ลำดับของคอลัมน์ไม่ควรเกี่ยวข้องกัน
Stefan Steinegger

1
บางครั้งหากคุณกำลังเพิ่มคอลัมน์ไปยัง datatable หลังจากได้รับข้อมูลจาก db แล้วคุณอาจต้องตั้งค่าที่ขอทาน
Wael Dalloul

1
ฉันกำลังใส่ข้อมูลลงในส่วนแทรกจำนวนมาก
สิทธิ์

9
@ Stefan ฉันเชื่อว่าลำดับของคอลัมน์มีความเกี่ยวข้องเมื่อใช้ Sql BulkCopy
IAbstract

คำตอบ:


178

คุณสามารถใช้รหัสต่อไปนี้เพื่อเพิ่มคอลัมน์ไปยัง Datatable ที่ตำแหน่ง 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
Rémi

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.