0

私はシーンの 1 つに立ち往生しています。入力テキストフィールドの値に基づいて、ボタンをクリックして結果をテーブルビューアーに表示します。以下はコードです、

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 の入力でのみ機能します

4

1 に答える 1

1

エラーが何であるかを示します:あなたは電話しています

m_workplaceViewer.setInput(workplaceDetail);

workplaceDetailは ではなく、入力IObservableListが必要なコンテンツ プロバイダを使用していIObservableListます。そのため、コンテンツ プロバイダを変更するか、 から観察可能なリストを作成できますworkplaceDetail

于 2013-02-28T04:33:46.837 に答える