【问题标题】:when changing DataGridView combobox to Default Value, it throws exception将 DataGridView 组合框更改为默认值时,会引发异常
【发布时间】:2011-06-29 18:57:09
【问题描述】:

我有一个 winform 应用程序,它有一个带有组合框的 datagridview。 Combobox 是数据绑定的,它显示模型类型。如果我在 gridview 上加载以前保存的数据并尝试选择组合框的第一个成员,它是 NullValue (--Select--),它会引发异常 无法将列“ModelTypeID”设置为空。请改用 DBNull。。完整的异常消息如下所示。

   at System.Data.DataRow.set_Item(DataColumn column, Object value)
   at System.Data.DataRowView.SetColumnValue(DataColumn column, Object value)
   at System.Data.DataColumnPropertyDescriptor.SetValue(Object component,
   Object value)
   at System.Windows.Forms.DataGridView.DataGridViewDataConnection.PushValue
   (Int32 boundColumnIndex, Int32 columnIndex, Int32 rowIndex, Object value)

谁能建议我解决这个问题?

谢谢

【问题讨论】:

    标签: c# winforms datagridview combobox


    【解决方案1】:

    你可以看看here提到的这个解决方法

    它涉及订阅DataTable绑定的列更改事件

    void dt_ColumnChanging(object sender, DataColumnChangeEventArgs e)
    {
         if (e.Column == dt.Columns["myColumn"])
         {
             if (e.ProposedValue == null)
             {
                  e.ProposedValue = DBNull.Value;
             }
         }
    }
    

    【讨论】:

    • 谢谢朋友,你救了我的命,这两天我一直在挣扎。
    猜你喜欢
    • 2014-05-23
    • 1970-01-01
    • 2011-10-11
    • 2022-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    相关资源
    最近更新 更多