2010-11-25 9 views

उत्तर

12
 List<MyItem> items = new List<MyItem>(); 
     foreach (DataGridViewRow dr in dataGridView1.Rows) 
     { 
      MyItem item = new MyItem(); 
      foreach (DataGridViewCell dc in dr.Cells) 
      { 
       ...build out MyItem....based on DataGridViewCell.OwningColumn and DataGridViewCell.Value 
      } 

      items.Add(item); 
     } 
+0

अगर पूर्वानुमान विवरण में मैं पंक्ति में पहले तत्व के मूल्य तक पहुंच बनाना चाहता हूं तो मैं इसे कैसे पूरा करूं? –

+0

दूसरे foreach में आपका सेल डेटा होगा ... आप पंक्ति से पंक्ति को स्थानांतरित करते हैं ... उस पंक्ति के भीतर प्रत्येक सेल से डेटा निकालने के दौरान। फिर DataGridViewCell.OwningColumn का उपयोग करें यदि आपको चीजों से मिलान करने की आवश्यकता है अन्यथा यह रैखिक है और आप डेटाग्रिड व्यूसेल का उपयोग कर सकते हैं। प्रत्येक सेल के मान निकालने के लिए वॉल्यूम डेटा के क्षैतिज फैशन में स्थानांतरित करते समय –

4

या एक LINQ रास्ता

var list = (from row in dataGridView1.Rows.Cast<DataGridViewRow>() 
      from cell in row.Cells.Cast<DataGridViewCell>() 
      select new 
      { 
      //project into your new class from the row and cell vars. 
      }).ToList(); 
3
var Result = dataGridView1.Rows.OfType<DataGridViewRow>().Select(
      r => r.Cells.OfType<DataGridViewCell>().Select(c => c.Value).ToArray()).ToList(); 

या आप डेटा स्रोत का उपयोग कर अपनी सूची के लिए बाध्य हैं मूल्यों

var Result = dataGridView1.Rows.OfType<DataGridViewRow>().Select(
      r => r.Cells.OfType<DataGridViewCell>().ToDictionary(c => dataGridView1.Columns[c.OwningColumn].HeaderText, c => (c.Value ?? "").ToString() 
       ).ToList(); 
4

की एक स्ट्रिंग शब्दकोश प्राप्त करने के लिए, आप से वापस परिवर्तित कर सकते हैं ,

List<Class> myClass= DataGridView.Datasource as List<Class> ; 
0

IEnumerable.OfType<TResult> विस्तार विधि यहां आपका सबसे अच्छा दोस्त हो सकता है। यहां बताया गया है कि मैंने इसे LINQ क्वेरी के माध्यम से कैसे किया होगा:

List<MyItem> items = new List<MyItem>(); 
dataGridView1.Rows.OfType<DataGridViewRow>().ToList<DataGridViewRow>().ForEach(
       row => 
       { 
        foreach (DataGridViewCell cell in row.Cells) 
        { 
         //I've assumed imaginary properties ColName and ColValue in MyItem class 
         items.Add(new MyItem { ColName = cell.OwningColumn.Name, ColValue = cell.Value }); 
        } 
       }); 
संबंधित मुद्दे