Comboviewer使用动态组合项进行数据绑定

时间:2013-08-12 09:22:15

标签: eclipse swt rcp jface eclipse-databinding

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

此外,我需要动态添加组合项目(到exisitng组合项目)。通过数据绑定,我怎样才能实现这一目标?

作为数据绑定的新手,请指出一些关于动态项目(组合项目)的comboviewer数据绑定的好教程。

以下代码用于将comboviewer选择绑定到模型:

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

其中“cmpObj”是我的模型对象,其中包含将被设置为comboviewer输入的对象列表

2 个答案:

答案 0 :(得分:1)

您可以执行类似

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

现在创建一个模型可观察对象并将其与swtObs

绑定

答案 1 :(得分:0)

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

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

将输入observable与ListObservable绑定。