2013-11-02 2 views
7

읽은 각 행을 반복하는 방법은 무엇입니까? 내 코드에서 동일한 제품 ID로 인해 행이 다음 행에 바인딩되지 않으므로 DataGridview가 새 행으로 이동하지 않으며 여전히 동일한 행에 있고 가격을 덮어 씁니다 (일부 제품의 경우 두 가지 가격이 있습니다) . 동일한 제품 ID를 표시하기 위해 루프하는 방법은 다르지만 가격이 다릅니다.DataGridview에서 각 행을 반복합니다.

EX : 1 햄버거 2 가격을 햄버거가 : 내가 그것을 루프와 데이터를 얻을 때 $ 1, $ 2 을의 resould은 동일한 제품이지만 서로 다른 가격으로 2 행이 될 shoult. 이 작업을 수행하는 방법? 다음은 같은 Rows 속성을 DataGridView을 반복 사용 할 수

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

원하는 것을 사진으로 보여 주거나 실제로 원하는 것을 더 명확하게 게시 할 수 있습니다. 귀하의 게시물에서 내가 이해 한 것은 DataGridView에서 동일한 제품 ID의 총 수량을 가져오고 싶지만 두 개 이상의 가격을 하나로 표시하고 싶다는 것입니다. – Edper

답변

37

내 코드입니다 :

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

고리 게시 죄송합니다, 자동 증가 열 datagridview에 대한 다른 주제였습니다. – explorercris

관련 문제