我正在尝试将TableViewer绑定到
models = List<ModelObject>
,但我并没有真正掌握它。应该可以通过master-detail和数据绑定上下文(DataBindingContext)进行绑定,这样我就可以在请求时将db(及其元素)的更改写入模型(dbc设置为POLICY_ON_REQUEST),即在编辑的保存动作中。 使用简单的文本字段,这就像一个魅力,但我找不到任何类似的TableViewers示例。 当我查看用于ViewerSupport的API的API时,我只能绑定它,但是没有给出DBC或master-detail的选项。这有效:
ViewerSupport.bind(aViewer, new WritableList(models, ModelObject.class), BeanProperties.value(ModelObject.class, "name")));
但如上所述,它不允许使用dbc或master-detail。
是否有解决方案,或者TableViewer不支持数据绑定,因为我打算使用它? 我错过了一种解决方法或一些API吗?
提前给出答案!
答案 0 :(得分:0)
现在我看了一下,我想出了如何使用master-detail:
tmp = BeansObservables.observeDetailList(masterObservable,
"name", ModelObject.class)
ViewerSupport.bind(aViewer, tmp, BeanProperties.value(ModelObject.class, "name")));
问题仍然存在,如何使列表中的更改和列表元素不直接持久化(即POLICY_ON_REQUEST),以便我可以将它们保存在用户请求中。更具体地说:如何在某处注入DataBindingContext ...