如何防止在使用RowValidating后添加新行

时间:2015-06-14 08:03:32

标签: datagridview

我遇到了一个问题,我知道我可以得到你的协助。

我的表单包含datagridview,我使用Key Down向datagridview添加一个新行。问题是datagridview仍然添加了一个新行,尽管当我检查连续输入的数据时验证失败。以下是我的代码

private void dtDetail_KeyDown(object sender, KeyEventArgs e)
{ 
    //if (allow_add_row)
    if (dtDetail.CurrentCell.RowIndex == dtDetail.Rows.Count - 1)
        if (e.KeyCode == Keys.Down)
            dtDetail.Rows.Add();
}

private void dtDetail_RowValidating(object sender, DataGridViewCellCancelEventArgs e)        
{
    // I do some checking and set e.Cancel=true;
}

请在此问题中建议我是否可以在添加新行或任何解决方法之前检查错误。

1 个答案:

答案 0 :(得分:0)

你是正确的。只需尝试设置e.Cancel = true而不进行任何检查,并在dtDetail.Rows.Add()处获得异常。检查你的"一些检查"代码。