2015-06-14 25 views
0

我有一個問題,我知道我可以得到你的幫助。如何防止添加新行後使用RowValidating

我的表單包含一個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; 
} 

請告知,如果我能在這個問題上增加一個新的行或任何解決辦法之前檢查錯誤。

回答

0

你是對的。只需嘗試設置e.Cancel = true,而不進行任何檢查,並在dtDetail.Rows.Add()處獲得異常。檢查你的「一些檢查」代碼。