【问题标题】:Datagridview Check Box Error DefaultDatagridview 复选框错误默认值
【发布时间】:2016-08-09 03:15:16
【问题描述】:

我有一个 Datagridview,用户将在其中输入他们工作过的班次的数据。我有一个复选框来勾选他们是否需要为轮班付费。未选中值为“N”,选中时值为“Y”。这很好用。

但是,当用户在加载时将复选框保留为默认状态时,当我将其发送到数据库时,我得到一个异常。即使用户没有更改该框,我如何才能使默认值始终为“N”?

错误消息:对象引用未设置为对象的实例。

【问题讨论】:

  • 很大程度上取决于控件的设置方式以及备份 DGV 的内容(如果有的话)。通常,CheckBoxes 的值仅为True 或False。你没有提到异常是什么,所以我猜它是关于 DBNull - 这意味着你没有为列设置默认值。
  • 编辑原始问题以显示错误消息,我已将其设置为默认值。
  • 这似乎与默认值问题无关。你引用的东西是Nothing。如果没有相关代码,很难说更多,但事实上,有一个答案涵盖了如何找到和修复它:What is a NullReferenceException, and how do I fix it?
  • 是的,这就是为什么它让我感到困惑,因为如果我在表单加载中未选中它,那么我会收到错误消息。但是,如果我选中它,我会得到“Y”,然后再次取消选中它,我会得到“N”。由于某些原因,当它未从加载中检查时,它不会获得 False 值。
  • 抱歉,您的 代码 中的某些内容会导致此问题。没有看到,一切都只是猜测。如果您正在获得 NRE,该链接应该会有所帮助。

标签: vb.net checkbox datagridview


【解决方案1】:

您需要在数据网格 item_databound 中声明复选框

     Private Sub dataGrid_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dataGrid.ItemDataBound

            If (e.Item.ItemType = ListItemType.Item) Or (e.Item.ItemType = ListItemType.AlternatingItem) Then
               dim checkbox as checkbox = e.item.findControl("yourCheckboxID")
            end if
     end sub

【讨论】:

    猜你喜欢
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多