2013-06-18 58 views
2

我想驗證datagridview中的用戶數據。現在我有一列需要顯示一條錯誤消息,如果用戶留空。如果datagridview單元格需要一個數字,但用戶鍵入一個字符串,我已經想出瞭如何顯示錯誤消息。那麼,如果用戶將datagridview單元格留空,我如何更改此代碼以顯示錯誤消息。如果用戶離開datagridview單元格顯示錯誤信息空白

If (e.ColumnIndex = 0) Then 'checking numeric value for column 1 only 
     Dim value As String = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString() 
     For Each c As Char In value 
      If Not Char.IsDigit(c) Then 
       MessageBox.Show("Please Enter numeric Value") 
       DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = String.Empty 
       Exit Sub 
      End If 
     Next 
    End If 

回答

2

如果小區是沒有什麼可能性,不要嘗試應用的ToString(),而不是指定Value屬性,然後測試針對沒有什麼,然後使用OrElse運營商對一個空字符串

If (e.ColumnIndex = 0) Then 'checking numeric value for column 1 only 
    Dim cellData = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value 
    if cellData Is Nothing OrElse IsDBNull(cellData) OrElse cellData.ToString = String.Empty Then 
     MessageBox.Show("Please Enter a Value") 
     Exit Sub 
    End If 

    Dim value = cellData.ToString() 
    For Each c As Char In value 
     ...... 
+0

感謝您的回答。當我嘗試實現這個時,我得到「從類型'DBNull'轉換爲'String'類型無效。」 – stackexchange12

+0

添加了對DBNull的檢查(數據來自數據庫,您將獲得DBNull.Value而不是Nothing)。需要導入Microsoft.VisualBasic命名空間 – Steve

+0

你太棒了!非常感謝!! – stackexchange12

相關問題