【问题标题】:Make JFace databinding revalidate使 JFace 数据绑定重新验证
【发布时间】:2012-09-21 00:48:24
【问题描述】:

我有一个用于在远程系统上输入多个路径的对话框。我使用数据绑定将这些路径存储在我的模型中。 我的数据记录附加了具有共同特征的验证器 - 当没有连接到远程系统时跳过验证。我在同一个对话框上有一个按钮来连接到远程系统,并且我有跟踪连接状态的 IObservableValue。

如何在连接状态发生变化时重新验证相关绑定?

【问题讨论】:

    标签: data-binding swt eclipse-rcp jface


    【解决方案1】:

    在跟踪连接状态的 IObservableValue 上添加 valuechangeListener。一旦连接状态发生变化,调用下面的方法来验证路径绑定。这可能有助于找到您正在寻找的东西

    Binding class
    public abstract void validateTargetToModel();
    public abstract void validateModelToTarget();
    

    【讨论】:

    • 我认为这种方式太麻烦了,因为我倾向于在向导页面之间移动控件等 - 我需要验证整个模型。我最终做的是创建验证整个模型并返回 IStatus 的 ComputedValue - 然后我的另一个自定义观察者使用 IStatus 数据更新页面标题。这样,当相关值(包括连接状态)发生变化时,我的验证就会正确触发。
    猜你喜欢
    • 2019-12-19
    • 2018-03-08
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    相关资源
    最近更新 更多