我被困在了一个场景中。根据输入文本字段值,单击按钮在tableviewer中显示结果。以下是代码,
btnSearch.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
String plant=text_workplace.getText();
IStructuredSelection selection = (IStructuredSelection) m_workplaceViewer
.getSelection();
workplaceDetail = (WorkplaceDetail) selection.getFirstElement();
if (plant!=""){
workplaceDetail= workplaceDaoImpl.getWorkplaceDetailsSearchByPlant(plant);
}
m_workplaceViewer.setInput(workplaceDetail);
m_workplaceViewer.refresh();
m_bindingContext.updateModels();
}
});
我能够在控制台中点击按钮时获得查询结果,但是我没有在表查看器中获得结果,而是获得以下异常
org.eclipse.core.runtime.AssertionFailedException:断言失败:此内容提供程序仅适用于IObservableList类型的输入
答案 0 :(得分:1)
它告诉你错误是什么:你正在调用
m_workplaceViewer.setInput(workplaceDetail);
workplaceDetail
不是IObservableList
,您正在使用需要IObservableList
输入的内容提供商。因此,您可以更改内容提供商或从workplaceDetail
创建可观察列表。