在表查看器上获取断言失败

时间:2013-02-28 03:42:04

标签: swt jface

我被困在了一个场景中。根据输入文本字段值,单击按钮在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类型的输入

1 个答案:

答案 0 :(得分:1)

它告诉你错误是什么:你正在调用

m_workplaceViewer.setInput(workplaceDetail);

workplaceDetail不是IObservableList,您正在使用需要IObservableList输入的内容提供商。因此,您可以更改内容提供商或从workplaceDetail创建可观察列表。