【问题标题】:How to make default value of datagridviewcell blank如何将datagridviewcell的默认值设为空白
【发布时间】: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


【解决方案1】:

由于我使用的是 OleDB,我必须将 cellData 变量设置为等于“DBNull.Value”而不是 String.Empty

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    相关资源
    最近更新 更多