2013-01-16 21 views
0

我在按下轉義鍵時驗證行中出現錯誤。而不是從datagridview行中刪除文本,即我在新行中添加了文本。我不想保存那一行,也不想關閉表單。簡單地說,當我按下鍵盤上的退出鍵時,文本應該被刪除。我在datagridviewrow驗證事件中使用此代碼。當datagridview中的某一行按下換碼鍵時,應從該行中刪除文本

if (string.IsNullOrEmpty(dgTests.CurrentRow.Cells["Column1"].Value.ToString()) && !string.IsNullOrEmpty(dgTests.CurrentRow.Cells["Column2"].Value.ToString())) 
{ 
    dgTests.Rows[e.RowIndex].ErrorText = "Column1 should not be empty"; 
    e.Cancel = true; 
} 
+0

請出示什麼事件,該代碼位於..它會幫助在指導其他人關於什麼代碼或建議,使 – MethodMan

+4

這個驗證說,如果該行沒有文本來拋出一個錯誤。你是否刪除了文字並想知道爲什麼會出現錯誤?我錯過了什麼? – RhysW

+0

datagridviews有一個屬於它們的所有行的內部列表,如果你不想保存它並想將其留空,爲什麼不按照esc鍵找到所選行的索引,然後從內部列表中刪除該行?這樣驗證不需要改變,你擺脫了你不想要的行? – RhysW

回答

-1

當DataGridView中按ESC鍵我想看到它假

在datagridview的性質下面的代碼按鍵響應寫

if (Keys.Escape.ToString() == "Escape") 
      gvExpireDate.Visible = false; 

private void DatagridView_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     //MessageBox.Show(Keys.Escape.ToString()); 
     if (Keys.Escape.ToString() == "Escape") 
      gvExpireDate.Visible = false; 
     //if(e.KeyChar == Keys.Escape) 

    } 
相關問題