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;
}