目前界面中textBox12.Text显示的是“13”;
然后执行下面的代码:
textBox12.Text = "";//textBox12绑定于bindingSource_1
bindingSource_1.EndEdit();
分步可以发现:
执“textBox12.Text = "";”后textBox12.Text确实变为了"";
但“bindingSource_1.EndEdit();”后textBox12.Text又变回了“13”。如果换作执行下面的代码:
textBox12.Text = "6";//textBox12绑定于bindingSource_1
bindingSource_1.EndEdit();
会发现最后textBox12.Text变成了“6”。也就是说textBox12.Text = ""; 或 textBox12.Text = null;后;
执行bindingSource_1.EndEdit();会将textBox12.Text的未修改前的值还原回来,这是为什么?
我怎么做才能清空textBox12.Text后执行EndEdit()?

解决方案 »

  1.   

    正确的做法是将绑定内容赋值,例如:
    datarow["columnName"]="";
    bindingSource_1.EndEdit();
      

  2.   


    我是这样做了,我只是想知道为什么清空textBox.Text后无法被传到绑定的DataSet.Tables中?
      

  3.   


    这或许是微软的bug,清空textBox.Text如果需要被传到绑定的DataSet.Tables中,需要先使textBox获得一次焦点,然后失去焦点时才会触发相关事件,我以前碰到过的,或许你可以调用textBox的某个方法解决此问题。