条件: 
datagridview中有一个checkBox列,datagridview的CausesValidation = false(这个不能改,别的地方要用)现象:
鼠标点击checkBox(打上勾),然后点保存按钮,debug跟,发现checkBox不是“True”而是空。如果在打完勾以后点以下datagridview的其他部分,再点保存,debug跟,发现checkBox是“True”。问题:
难道是因为CausesValidation = false的原因吗?可是这个不能改的,有没有别的方法避开这个现象?
谢谢!

解决方案 »

  1.   

    肯定得点一下其它部分,当然,这时候你也可以人为调用一下DataGridView的EndEdit事件。这样就可以了。跟你那个CausesValidation = false没有关系的。
      

  2.   

    CheckBox check=(CheckBox)Gridview.findcontrol("checkBox的ID名");这样可以得到check.Text的值。
    现象: 
    鼠标点击checkBox(打上勾),然后点保存按钮,debug跟,发现checkBox不是“True”而是空。如果在打完勾以后点以下datagridview的其他部分,再点保存,debug跟,发现checkBox是“True”。我认为你写的位置不对。可以当你点击datagridview的其他部分才能触发鼠标点击checkBox(打上勾)。给你一个参考资料:
    http://www.w3school.com.cn/aspnet/prop_webcontrol_imagebutton_causesvalidation.asp
    不对的地方还请包含。我认为不是“难道是因为CausesValidation = false的原因吗?“的原因。
      

  3.   

    在你保存操作之前加上这句试试this.datagridview.EndEdit();
      

  4.   

    和CausesValidation 应该没有直接关系.楼主检查一下Code.