我的datagridview里有一列combobox列(SourceProductLineId),主要是用它来显示和更新数据库的一个字段,下拉列表是从一个datatable数据源中取的,但是当combobox选择项为空时会报错,提示:SourceProductLineId不能为空,请使用DBNull,请问怎么解决呢??

解决方案 »

  1.   

    错误提示已经告诉你为什么了
    主键字段SourceProductLineId,不能为空你应该在程序中加判断,并且用try{}catch{}来捕捉这个空值,如果为空提示请选择否则更新数据即使没有出现这个问题,你也应该在可能出现问题的地方try{}catch{}这些错误,以防程序运行时崩溃
      

  2.   

    http://social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/thread/a1a4d30d-38a6-43bb-abc7-76aa215186e0/
      

  3.   

    如果你不知道程序怎样才能正确处理系统数据,却要加一个try...catch....来掩盖异常,这样的程序我是没有胆子用的。
      

  4.   

    很明显,你应该去自己查找什么地方造成了bug。当数据中那个字段是DBNull值的时候,程序根本不应该走到datagridview显示的代码中。
      

  5.   

    这上面说的下面的方法
    drTopRowNull.Item(0) = DBNull.Value
    drTopRowNull.Item(1) = " "    ' notice the space
    试了,还是不行