【问题标题】:EndCurrentEdit Not Working Properly When Changing Text Box Text Through Code通过代码更改文本框文本时,EndCurrentEdit 无法正常工作
【发布时间】:2014-01-13 15:43:39
【问题描述】:

我有几个文本框绑定到数据表,例如:

With control.Item_Full_Description
    .DataBindings.Add("Text", mdtItemMstr, "Item_Full_Description", True)
End With

当我通过代码更改文本框文本的值时,没有正确地推回数据库。如果我打电话:

Me.BindingContext(_mdtItemMstr).EndCurrentEdit()

在更改代码中的值后,它会立即正确保存,但是如果我等到用户实际单击保存(在进行更多编辑后)调用EndCurrentEdit,它不会保存回来。这种方法的问题是在每次更改代码后调用它多次导致冲突。

这种方法是否有一个明显的问题可以解释为什么它不起作用?

【问题讨论】:

    标签: .net vb.net data-binding controls


    【解决方案1】:

    由于您将 TextBox 绑定到基础数据源上的属性(在您的情况下为 mdtItemMstr.Item_Full_Description),为什么不写入该属性而不是写入 TextBox 呢?

    当我处理绑定控件时,我总是操作底层数据,而不是直接操作控件。

    希望这会有所帮助。

    【讨论】:

    • 好的,我想这并不能回答我的问题,但它肯定是一个可以接受的解决方法,而且非常容易。谢谢。
    • 嗯,真的,当使用绑定控件时,我的意见是你永远不应该直接操作控件的值,而应该只操作底层数据源,让数据绑定完成它的工作:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2015-12-13
    • 2012-03-18
    • 1970-01-01
    • 2014-06-12
    相关资源
    最近更新 更多