0
私はSWTとJFaceの新バージョンです。最近、私のプロジェクトでJFaceテーブルビューアを使用しました。そして、私は削除ボタンで項目を削除する必要があります。しかし、テーブルビューアを削除した後にテーブルビューアを更新しても機能しません。私は以下を示しreason.Myコードを知りたい:JFaceテーブルビューアのアイテムの削除がリフレッシュできない
btnDeleteConstraint.addSelectionListener(
new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
ISelection selection = tableViewer.getSelection();
logger.debug("datatype selected");
if (selection != null || selection instanceof
IStructuredSelection) {
IStructuredSelection sel = (IStructuredSelection) selection;
Iterator iterator = sel.iterator();
while(iterator.hasNext()) {
Object obj = iterator.next();
tableViewer.remove(obj);
}
tableViewer.refresh();
}
}
});
と私は入力を設定し、最後にテーブルを更新するために)(別の方法と呼ばれるアップデートを使用する:あなたはrefresh
を呼び出すと
public void update()
{
tableViewer.setInput(DataTypeFactory.
getInstance().getCastList(wizard.getSourceInfo().getDBType()));
tableViewer.refresh();
}
私はそれを修正するたびにテーブルを更新する必要はありませんが、それは正しいですか? – khunnie
いいえ、更新する必要はありません。しかし、コンテンツプロバイダーのデータを表示されたテーブルと同期させておく必要があります。 –