0
for (int i = 0; i < metroGrid1.Rows.Count; i++)
{
    if (metroGrid1.Rows[i].Cells[0].Value.ToString() == radGridView1.SelectedRows[0].Cells[0].Value.ToString())
    {
        counter = i;
        metroGrid1.Rows[counter].Cells[2].Value = Convert.ToInt32(metroGrid1.Rows[counter].Cells[2].Value) + radSpinEditor1.Value;
        MessageBox.Show("for loop");

    }
    else
    {
        metroGrid1.Rows.Add(radGridView1.SelectedRows[0].Cells[0].Value.ToString(), radGridView1.SelectedRows[0].Cells[1].Value.ToString() + " " + radGridView1.SelectedRows[0].Cells[2].Value.ToString() + " " + radGridView1.SelectedRows[0].Cells[3].Value.ToString() + " " + radGridView1.SelectedRows[0].Cells[4].Value.ToString(), radSpinEditor1.Value, decimal.Round(prodamt, 2), decimal.Round(prodtotamt, 2));
        totamt += prodtotamt;
        metroLabelTotalamt.Text = (string.Format("{0:#,###0.00}", totamt));
        radSpinEditor1.Value = 1;
        MessageBox.Show("else ");
    }

}
4

1 回答 1

0

不应该这样吗?由于您自己通过调用Add()方法将行添加到您的网格视图中,如您发布的代码中所示

  metroGrid1.Rows.Add(radGridView1.SelectedRows[0].Cells[0].Value.ToString(),

不知道,因为我不知道您的要求,但对我来说,感觉就像您想拥有另一部分作为 else 块。

for (int i = 0; i < metroGrid1.Rows.Count; i++)
  {
     if (metroGrid1.Rows[i].Cells[0].Value.ToString() == radGridView1.SelectedRows[0].Cells[0].Value.ToString())
    {                            
      counter = i;
      metroGrid1.Rows[counter].Cells[2].Value = Convert.ToInt32(metroGrid1.Rows[counter].Cells[2].Value) + radSpinEditor1.Value;
      MessageBox.Show("for loop");                          
     }    
     else
     {
                    metroGrid1.Rows.Add(radGridView1.SelectedRows[0].Cells[0].Value.ToString(), radGridView1.SelectedRows[0].Cells[1].Value.ToString() + " " + radGridView1.SelectedRows[0].Cells[2].Value.ToString() + " " + radGridView1.SelectedRows[0].Cells[3].Value.ToString() + " " + radGridView1.SelectedRows[0].Cells[4].Value.ToString(), radSpinEditor1.Value, decimal.Round(prodamt, 2), decimal.Round(prodtotamt, 2));
                    totamt += prodtotamt;
                    metroLabelTotalamt.Text = (string.Format("{0:#,###0.00}", totamt));
                    radSpinEditor1.Value = 1;
                    MessageBox.Show("else ");

     }                                         

}

于 2016-09-11T19:14:53.363 回答