【发布时间】:2013-07-20 22:56:26
【问题描述】:
现在我有一个 vb.net 程序,它读取一个 excel 文件并将内容显示到一个 datagridview 中。我的目标是让代码告诉用户单元格中是否有除 1 或空白之外的任何值。然后我想为 datagridviewcell 提供一个默认值空白。如果默认值为 1,我可以轻松完成所有这些操作,但是当我将其更改为空白 (String.empty) 时,程序将保留无效输入。下面是我的代码。如果有人能弄清楚如何让程序提供一个空白值作为默认值,我将不胜感激! :)
Sub validateDGV(rowindex, columnindex)
Dim value As String = DataGridView1.Rows(rowindex).Cells(columnindex).Value.ToString
If (columnindex = 1) Then
Dim cellData = DataGridView1.Rows(rowindex).Cells(columnindex).Value
If cellData Is Nothing OrElse IsDBNull(cellData) OrElse cellData.ToString = String.Empty Then
'Do nothing because this is allowed
ElseIf cellData <> 1 Then
MessageBox.Show("Value must be 1 or Blank")
DataGridView1.Rows(rowindex).Cells(columnindex).Value = String.Empty 'This should be supplying the default value of blank back to my datagridview but its not :(
Exit Sub
End If
End If
End Sub
【问题讨论】:
-
您是否尝试过将空值作为值传递? .Cells(columnindex).Value = Nothing
-
感谢您的建议,是的,我已经尝试了“无”,但它仍然不适合我
-
我会试试这个:将 .ToString 添加到填充 CellData 的行并调整字符串值的代码。并将 cellData 调暗为字符串。
-
请注意,您可以使用网格的 CellFormatting 事件来更改字体/背景颜色或设置 ErrorProvider 文本。
标签: vb.net validation datagridview