2011-04-29 46 views
1

我有一個datagridview用戶的輸入。currentCell在驗證失敗時保持不變。 - CellEndEdit事件

例如,列「姓名」,「出生日期」 ...

因爲,我已經實現了validaion「出生日期」的一部分......

我要打用戶在被允許離開小區之前必須輸入有效的「出生日期」。一旦他們進入細胞,他們必須提供有效的「出生日期」,然後他們才能繼續前進。

想知道如何做到這一點,我曾嘗試將DGV.currentCell設置爲「CellEndEdit」事件內的目標單元格。但它給了我下面的錯誤:

回答

1

我相信你可以通過使用CellValidating

void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
{ 
    if(e.ColumnIndex == 3) 
    { 
     e.FormattedValue // Check your date validation against this value 
     e.Cancel = true; // set this to true if validation fails 
    } 
} 

這將有助於實現這一目標「因爲它會導致重入調用setcurrentcelladdresscore功能操作無效」在用戶輸入錯誤的情況下將焦點保留在同一單元中。

+0

這個工作適合你嗎? – V4Vendetta 2011-04-29 09:17:37

+0

該標籤爲'VB.NET',請編輯您的代碼。 – 2015-09-24 08:17:16