2010-08-06 39 views

回答

0

我不知道該如何延遲。換句話說,要註冊DisposeListener來檢查用戶,請選擇確定或取消。如果結果不好,我放棄這些改變。

在我的情況下,我綁定了從休眠狀態獲取的模型。當'ok'時hibernate會持續存在,當按下取消時執行刷新模型(從數據庫重新讀取數據)。

但是,我希望函數也可以延遲或取消更改。

0

你必須設置的POLICY_CONVERTPOLICY_ON_REQUESTUpdateValueStrategy爲您結合「延遲」的模式更新:

Button btnOK = mToolkit.createButton(parent, "OK", SWT.NONE); 
btnOK.addSelectionListener(new SelectionAdapter() 
{ 
    @Override 
    public void widgetSelected(SelectionEvent e) 
    { 
     binding.updateModelToTarget(); 
    } 
}); 

DataBindingContext dbc = new DataBindingContext(); 
final Binding binding = dbc.bindValue(target, model, 
    new UpdateValueStrategy(UpdateValueStrategy.POLICY_CONVERT), null); 

然後你就可以通過OK按鈕這樣的更新目標

或者您可以通過致電DataBindingContext.updateTargets()

更新 DataBindingContext內的所有綁定