सी # स्थिति 0 पर डेटा डालने योग्य स्तंभ डालें


105

क्या किसी को स्थिति 0 पर एक डिटैटेबल में कॉलम डालने का सबसे अच्छा तरीका पता है?


तुम ऐसा क्यों करना चाहते हो? स्तंभों का क्रम वास्तव में प्रासंगिक नहीं होना चाहिए।
स्टीफन स्टाइनगर

1
कभी-कभी यदि आप db से डेटा प्राप्त करने के बाद डेटाटेबल में कॉलम जोड़ रहे हैं तो आपको इसे भीख मांगने की आवश्यकता हो सकती है।
वेल डैलौल

1
एक थोक डालने में datatable im im
अनुदान

9
@Stefan, मेरा मानना ​​है कि Sql BulkCopy का उपयोग करते समय स्तंभों का क्रम प्रासंगिक है।
आईब्रेट

जवाबों:


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

बस वेएल के उत्तर को बेहतर बनाने और उसे एक ही पंक्ति में रखने के लिए:

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

अद्यतन: ध्यान दें कि यह तब काम करता है जब आपको DataColumn के साथ कुछ और करने की आवश्यकता नहीं होती है। जोड़ें () प्रश्न में कॉलम लौटाता है, SetOrdinal () कुछ भी नहीं देता है।


15
एकल लिग्ने स्टेटमेंट बेहतर नहीं है। इस मामले में मुझे यह पसंद है +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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.