昨日まで、以下のコードは正常に機能していましたが、今日はエラーメッセージ「引数が例外外でインデックスが範囲外です」が表示されます。
ここでやろうとしているのindex 3(4th col)
は、最後の行から、そのセルの値を取得して、に入力することcol 3 (index 2) cell
です。最後のセル(下から上)に入力すると、上記のエラーメッセージが表示されます。
私を助けてください。
private void datagridview_CellValidated(object sender, CellValidatedEventArgs e)
{
if (e.ColumnIndex != 3)
return;
int nextRowIndex = e.RowIndex -1;
int lastRowIndex = datagridview.Rows.Count;
try
{
if (nextRowIndex <= lastRowIndex)
{
var valuesForcell = datagridview.Rows[e.RowIndex].Cells[3].Value.ToString();
datagridview.Rows[nextRowIndex].Cells[2].Value = valuesForcell;
datagridview.Rows[nextRowIndex].Cells[2].ReadOnly = true;
datagridview.Rows[nextRowIndex].Cells[2].Style.ForeColor = Color.MediumVioletRed;
datagridview.ClearSelection();
datagridview.SelectionMode = GridViewSelectionMode.CellSelect;
datagridview.Rows[nextRowIndex].Cells[3].BeginEdit();
}
}
catch (Exception exception) { }
}