【问题标题】:Comboviewer Databinding with dynamic combo items具有动态组合项的 Comboviewer 数据绑定
【发布时间】:2013-08-12 09:22:15
【问题描述】:

我有一个组合查看器,我需要对其进行数据绑定,以便模型中的组合选择自动更新。

我还需要动态添加组合项(添加到现有组合项中)。使用数据绑定如何实现这一点?

作为数据绑定的新手,请指点我一些关于使用动态项(组合项)进行组合查看器数据绑定的好教程。

以下代码用于将组合查看器选择绑定到模型:

final IObservableValue entityComboObservable = ViewersObservables.
observeSingleSelection(myComboViewer);        
final IObservableValue modelSelectedEntityObservable = BeansObservables.
observeValue (cmpObj, Company.EMP_SELCTION);        
bindingCntxt.bindValue(modelSelectedEntityObservable, entityComboObservable); 

其中“cmpObj”是我的模型对象,其中包含将设置为组合查看器输入的对象列表

【问题讨论】:

    标签: eclipse swt rcp jface eclipse-databinding


    【解决方案1】:

    你可以这样做

     comboViewer.setContentProvider(new ObservableListContentProvider());
     comboViewer.setLabelProvider(labelProvider);
     // input must be a List
     comboViewer.setInput(input);
     IViewerObservableValue swtObs = ViewersObservables.observeSingleSelection(comboViewer);
    

    现在创建一个 model-ovservable 并将其绑定到 swtObs

    【讨论】:

      【解决方案2】:

      你需要使用下面的输入 observable。

      org.eclipse.jface.databinding.viewers.ViewersObservables.observeInput(Viewer)
      

      使用ListObservable 绑定可观察的输入。

      【讨论】:

      • 感谢您的建议。但是我对数据绑定非常陌生,能否请您详细说明如何与 listobservable 绑定?
      • 我已经编辑了我的帖子以将组合查看器选择与模型绑定。但是,如果您能帮助我动态地将新项目添加到组合项目中,那将会很有帮助
      猜你喜欢
      • 1970-01-01
      • 2022-06-28
      • 2012-09-01
      • 2016-06-11
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      相关资源
      最近更新 更多