我用textBox的text属性绑定了dataset中datatable的一个字段,如果我在textBox中修改text值,怎么才能影响绑定的datatable的值?
我查看了一下,当textbox的值改变,datatable的rowstate并没有改变,这种简单绑定是单向的吗?
谢谢!

解决方案 »

  1.   

    除非你寫代碼update datatable中的值
      

  2.   

    用鼠标切换焦点会改变的。DataSet改变当前行也可以。
      

  3.   

    对啊,只能手工改DataTable里的值
      

  4.   

    this.BindingContext[dt, "Client.Spare"].EndCurrentEdit();或者  DATAROW.ENDEDIT();
      

  5.   

    说白了,其实就是因为,此时你的行处于编辑状态(绑定的时候,系统会自动对当前的DATAROW,调用BEGINEDIT()),所以你必须结束编辑,你还可以做这样一个实验,你用代码修改一下DATAROW的值,你会发现TEXTBOX里的值同样不会变,
    道理是一样的,并不是单向绑定还是双向绑定,只是因为你修改的值,没有通过ENDEDIT推入到DATATABLE里,所以rowstate也谈不上变化
      

  6.   

    this.BindingContext[dt, "Client.Spare"].EndCurrentEdit();
    DATAROW.ENDEDIT();