2013-11-02 4 views
7

पढ़ने वाली प्रत्येक पंक्ति को कैसे लूप करें? मेरे कोड में, पंक्ति एक ही उत्पाद आईडी की वजह से अगली पंक्ति से बंधी नहीं जाएगी, इसलिए डेटाग्रिडव्यू नई पंक्ति में नहीं चलेगा, यह अभी भी एक ही पंक्ति में है और कीमत को ओवरराइट करता है (कुछ उत्पाद के लिए, मेरे पास दो मूल्य हैं) । एक ही उत्पाद आईडी दिखाने के लिए इसे लूप कैसे करें लेकिन इसकी अलग कीमत है।डेटाग्रिडव्यू में प्रत्येक पंक्ति को लूपिंग

पूर्व: 1 हैम्बर्गर 2 कीमत हैम्बर्गर है: $ 1 और $ 2 जब मैं यह पाशन के साथ डेटा प्राप्त, resould हो shoult एक ही उत्पाद लेकिन अलग अलग मूल्य के साथ 2 पंक्ति की है। यह कैसे करना है? नीचे मेरी कोड

productID = odr["product_id"].ToString(); 
quantity = Double.Parse(odr["quantity"].ToString()); 

//processing data... 
key = productID.ToString(); 

if (key != key_tmp) 
{ 
    //update index... 
    i++; 

    //updating variable(s)... 
    key_tmp = key; 
} 

if (datagridviews.Rows[i].Cells["qty"].Value != null) //already has value... 
{ 
    currJlh = Double.Parse(ddatagridviews.Rows[i].Cells["qty"].Value.ToString()); 
} 
else //not yet has value... 
{ 
    currQty = 0; 
} 
currQty += qty; 

//show data... 
datagridviews.Rows[i].Cells["price"].Value = cv.toAccountingCurrency_en(Double.Parse(odr["item_price"].ToString())); 
MessageBoxes.Show(i.ToString()); 
MessageBoxes.Show(datagridviews.Rows[i].Cells["price"].Value.ToString()); // in here there is two price that looped but won't showed in datagridviews 

मुझे बाहर मदद :)

+0

आप जो चाहते हैं उसकी एक तस्वीर दिखाना बेहतर है या आप वास्तव में जो चाहते हैं उस पर पोस्ट को स्पष्ट कर सकते हैं। आपकी पोस्ट में जो मैंने समझा वह यह है कि आपके डेटाग्रिड व्यू में आप एक ही उत्पाद आईडी की कुल मात्रा प्राप्त करना चाहते हैं लेकिन आप दो या दो से अधिक कीमतों को एक के रूप में दिखाना चाहते हैं? – Edper

उत्तर

37

आप DataGridView के माध्यम से लूप Rows संपत्ति का उपयोग कर सकता है, की तरह है:

foreach (DataGridViewRow row in datagridviews.Rows) 
{ 
    currQty += row.Cells["qty"].Value; 
    //More code here 
} 
-1

मेरे लिए बेस्ट aproach था:

private void grid_receptie_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
    { 
     int X = 1; 
     foreach(DataGridViewRow row in grid_receptie.Rows) 
     { 
      row.Cells["NR_CRT"].Value = X; 
      X++; 
     } 
    } 
+0

wring post क्षमा करें, autoincrement कॉलम डेटाग्रिडव्यू के बारे में अन्य विषय था – explorercris

संबंधित मुद्दे