在C#中更新DataGridView列值

时间:2012-05-06 13:31:42

标签: c# datagridview

我创建了一个包含6列的网格,所有这些都是字符串类型现在我的要求是当用户双击第6列时,将打开一个新表单并从id,name变量中返回所选记录中的值。

正在打开表单并获取值,但在执行以下行时

grdItemDetail.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = id;

它没有更新字段给出错误并关闭如何更新此列的值请帮助。完整代码如下。

private void grdItemDetail_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
        if (e.ColumnIndex == 6)
        {
            frmWarehouseList frmWarehouseList = new frmWarehouseList();
            frmWarehouseList.ShowDialog();
            string id = frmWarehouseList.SelectedWarehouseID;
            string name = frmWarehouseList.SelectedWarehouseName;
            //MessageBox.Show(grdItemDetail.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString());
            grdItemDetail.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = id;
        }

1 个答案:

答案 0 :(得分:3)

列索引基于零,因此如果您有六列,则最高索引为五。

快速修复:

if (e.ColumnIndex == 5)
{
  // etc
}