डेटेबल की सेल वैल्यू एक्सेस करें


84

क्या कोई मुझे 4 कॉलम में पहली सेल के उदाहरण मूल्य तक पहुंचने में मदद कर सकता है?

a b c d
1 2 3 5
g n m l

उदाहरण के लिए, मान d तक कैसे पहुँचें, यदि वह डेटा योग्य होगा?

धन्यवाद।

जवाबों:


133

यदि आपको सेल मान के कमजोर संदर्भ की आवश्यकता है:

object field = d.Rows[0][3]

या

object field = d.Rows[0].ItemArray[3]

करना चाहिए

यदि आपको एक दृढ़ता से टाइप किए गए संदर्भ (आपके मामले में स्ट्रिंग) की आवश्यकता है, तो आप DataRowExtensions.Field एक्सटेंशन विधि का उपयोग कर सकते हैं :

string field = d.Rows[0].Field<string>(3);

(सुनिश्चित करें कि System.Data इस मामले में नामस्थान में सूचीबद्ध है)

इंडेक्स 0 आधारित हैं इसलिए हम पहली पंक्ति (0) तक पहुँचते हैं और फिर इस पंक्ति में 4 वां कॉलम (3)


4
@ बस ध्यान रखें कि आप अक्सर यह सुनिश्चित करने के लिए पहले जांचना चाहेंगे कि इस तरह के हार्ड कोडिंग मानों में वास्तव में पर्याप्त पंक्तियां / कॉलम हैं।
सर्वि

1
यह भी देखें stackoverflow.com/a/13816531/638977 यह सुझाव देता हैint number = dt.Rows[i].Field<int>(j);
बेहज़ाद इब्राहिमी


13

आप भी कोशिश कर सकते हैं (4 वें कॉलम में पहली सेल):

dt.Rows[0][3]


7

डेटा d पंक्ति में है 0 और मान 3 के लिए कॉलम 3:

DataTable table;
String d = (String)table.Rows[0][3];

1
public V[] getV(DataTable dtCloned)
{

    V[] objV = new V[dtCloned.Rows.Count];
    MyClasses mc = new MyClasses();
    int i = 0;
    int intError = 0;
    foreach (DataRow dr in dtCloned.Rows)
    {
        try
        {
            V vs = new V();
            vs.R = int.Parse(mc.ReplaceChar(dr["r"].ToString()).Trim());
            vs.S = Int64.Parse(mc.ReplaceChar(dr["s"].ToString()).Trim());
            objV[i] = vs;
            i++;
        }
        catch (Exception ex)
        {
            //
            DataRow row = dtError.NewRow();
            row["r"] = dr["r"].ToString();
            row["s"] = dr["s"].ToString();
            dtError.Rows.Add(row);
            intError++;
        }
    }
    return vs;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.