当用户点击单元格时,当它关注单元格时,如果我想打开另一个文件,我收到错误消息Argument Out Of Range Exception Error
我添加了try catch & data Error event handler
,但我仍然收到此错误。我该如何解决这个问题?
private void datagridview_CellValidating(object sender, CellValidatingEventArgs e)
{
try
{
if (e.ColumnIndex == 2 || e.ColumnIndex == 3)
{
datagridview.Rows[e.RowIndex].ErrorText = "";
int newInteger;
if (datagridview.Rows[e.RowIndex].IsModified)
return;
if (!int.TryParse(e.Value.ToString(),
out newInteger) || newInteger < -50000 || newInteger > 50000)
{
e.Cancel = true;
string errorMesssage = d_LanguageDropDownList.SelectedItem.ToString() == "French" ? "Entrez des valeurs décimales entre -50000 et 50000"
: "Enter decimal values between -50000 to 50000";
datagridview.Rows[e.RowIndex].ErrorText = errorMesssage;
}
}
}
catch (Exception exception)
{
}
}
private void datagridview_DataError(object sender, GridViewDataErrorEventArgs e)
{
}
答案 0 :(得分:1)
当网格中没有行时,或者在没有索引的“新行”上,可以调用事件。因此,在索引任何内容之前,您需要检查RowIndex
是否为>= 0
。
如果您设置断点,您会在错误发生之前看到RowIndex
为-1
。