我有一个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输入的对象列表
答案 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
绑定。