如何在DataGridview中更改其他单元格值时更改一个单元格的值

本文关键字:单元格 一个 DataGridview 其他 | 更新日期: 2023-09-27 18:12:01

例如:如果我要更改MRP列,它应该将该值与另一个称为No_of_Units的列值相乘,结果应存储在称为Total的列中,提前感谢

如何在DataGridview中更改其他单元格值时更改一个单元格的值

你是说这样吗?

private void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    if (e.ColumnIndex == index of column MRP)
    {
        int value = (int)DataGridView1.Rows[e.RowIndex].Cells["NO_OF_UNITS"].Value * (int)DataGridView1.Rows[e.RowIndex].Cells["MRP"].Value;
        DataGridView1.Rows[e.RowIndex].Cells["TARGET_COLUMN"].Value = value;
    }
}

这个答案是简化的,你可能需要一些额外的检查,比如检查空值之类的东西。但它应该能让你上路。

在你的评论中你问:

如何得到列MRP的索引?

点击数据网格。找到属性Columns并单击列列表中的小按钮,找到列MRP并复制Name属性。这可以是MRP,也可以是DataGridColumn1之类的。

假设name属性为'MRP',那么您可以这样做:

if (e.ColumnIndex == MRP.ColumnIndex)