Привязка данных Comboviewer с динамическими комбо-элементами
У меня есть comboviewer, и мне нужно иметь привязку данных, чтобы выбор модели автоматически обновлялся в модели.
Также мне нужно добавить комбо-элементы динамически (к существующим комбо-элементам). С привязкой данных, как я могу добиться этого?
Поскольку я новичок в привязке данных, пожалуйста, укажите мне хороший урок по привязке данных comboviewer с динамическими элементами (комбинированными элементами).
Приведенный ниже код предназначен для привязки выбора comboviewer к модели:
final IObservableValue entityComboObservable = ViewersObservables.
observeSingleSelection(myComboViewer);
final IObservableValue modelSelectedEntityObservable = BeansObservables.
observeValue (cmpObj, Company.EMP_SELCTION);
bindingCntxt.bindValue(modelSelectedEntityObservable, entityComboObservable);
где "cmpObj" - мой объект модели, который содержит список объектов, которые будут установлены в качестве входных данных для comboviewer
2 ответа
Вы можете сделать что-то вроде
comboViewer.setContentProvider(new ObservableListContentProvider());
comboViewer.setLabelProvider(labelProvider);
// input must be a List
comboViewer.setInput(input);
IViewerObservableValue swtObs = ViewersObservables.observeSingleSelection(comboViewer);
Теперь создайте модель-овсервабель и свяжите ее с swtObs
Вам нужно использовать ниже входные наблюдаемые.
org.eclipse.jface.databinding.viewers.ViewersObservables.observeInput(Viewer)
связать входные данные, наблюдаемые с ListObservable
,