我正在构建一个具有DataGridView的应用程序,有时在程序执行期间,我需要从特定的行和列中更新一个值,因为该值包含与某些项目的数量有关的数据。
举例来说,假设您有以下DataGridView:
0 1
+----------+----------+
| Item | Quantity |
+----------+----------+
0 | Candy L | 1 |
+----------+----------+
我需要将+1添加到第0行和第1列。因此,我将得到这个结果。
0 1
+----------+----------+
| Item | Quantity |
+----------+----------+
0 | Candy L | 2 |
+----------+----------+
我已经做了一些事情:
int rowIndex = 0;
foreach (DataGridViewRow dgvRow in dataGridViewLista.Rows)
{
if (dgvRow.Cells[0].FormattedValue.ToString() == "Candy")
// Here I'd update the row (at this point I already have the row index)
rowIndex++;
}
谢谢。
最佳答案
您需要获取“数量”单元格的值,将其解析为整数或相应的类型,然后向其中添加1
,将结果分配回Cell.Value
属性,例如:
if (dgvRow.Cells[0].FormattedValue.ToString() == "Candy")
{
int qty = Convert.ToInt32(dgvRow.Cells[1].FormattedValue);
qty += 1;
dgvRow[0].Cells[1].Value = qty;
}
如果使用int.TryParse方法进行解析以避免异常,那会更好