2012-01-26 17 views
57

का एक्सेस सेल वैल्यू क्या कोई मेरी मदद कर सकता है कि 4 वें कॉलम में पहले सेल के उदाहरण मूल्य के लिए कैसे पहुंचे?डेटाटेबल

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

उदाहरण के लिए, मूल्य डी तक कैसे पहुंचे, यदि यह डेटाटेबल होगा?

धन्यवाद।

उत्तर

96

आप सेल मूल्य के लिए एक कमजोर संदर्भ की जरूरत है:

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

@OP बस ध्यान रखें कि आप अक्सर पहले जाँच करने के लिए चाहता हूँ में रखना सुनिश्चित करने के लिए जब कठिन इस तरह मान कोडिंग कि वहाँ वास्तव में पर्याप्त पंक्तियां/स्तंभ हैं। – Servy

+0

बहुत उपयोगी, धन्यवाद! – MonkeyDoug

+0

यह भी देखें http://stackoverflow.com/a/13816531/638977 यह 'int संख्या = dt.Rows [i] फ़ील्ड (जे);' –

54
string abc= dt.Rows[0]["column name"].ToString(); 
+0

बहुत धन्यवाद! – user3573738

9

तुम भी (4 स्तंभ में पहला सेल) की कोशिश कर सकते हैं:

dt.Rows[0][3] 
5

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

DataTable table; 
String d = (String)table.Rows[0][3]; 
0
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; 
}