web-dev-qa-db-ja.com

datagridviewの各行のループ

読み取った各行をループする方法は?私のコードでは、同じproductIDのために行が次の行にバインドされないため、datagridviewは新しい行に移動せず、同じ行のままで価格を上書きします(一部の製品では2つの価格があります) 。ループして、同じproductIDを表示するが、価格が異なる方法。

例:1つのハンバーガーには2つの価格がありますハンバーガー:$ 1および$ 2ループしてデータを取得すると、同じ製品で価格が異なる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

私を助けてください:)

16
Ke Vin

次のように、DataGridViewプロパティを使用してRowsをループできます。

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