2015-01-12 7 views
0

У меня есть таблица SWT и несколько кнопок для добавления и удаления строк в таблице, кнопка добавления работает нормально, после нажатия на нее новая строка сразу добавляется в конце таблицу, но когда я выбираю строку и затем нажмите кнопку удаления, кажется, что ничего не происходит, но когда я нажимаю на таблицу, она обновляется, показывая правильный результат, вопрос в том, как я могу обновить таблицу после удаления строки?Как обновить таблицу SWT после удаления строки

Я попытался назвать эти методы не имели успеха:

table.redraw(); 
table.refresh(); 

Это как моя таблица выглядит следующим образом:

Table table = new Table(container, SWT.BORDER | SWT.FULL_SELECTION); 

И моя Удалить кнопка:

Button btnRemove = new Button(container, SWT.NONE); 
btnRemove.addSelectionListener(new SelectionAdapter() { 
    @Override 
    public void widgetSelected(SelectionEvent e) { 
     table.remove(table.getSelectionIndices()); 
    } 
}); 
+1

Нет необходимости обновлять таблицу после удаления элементов. Просто нужно вызвать 'Table # remove()'. Вы уверены, что 'getSelectionIndices()' не пуст и содержит существующие индексы? В качестве альтернативы вы можете удалять выбранные элементы через 'TableItem # dispose()'. –

+0

Нашли ошибку, см. Ответ ниже, спасибо! – CJ1

ответ

0

Нашли проблему , У меня есть текстовый компонент внутри строк, поэтому, если я удалю строку, кажется, что текстовое поле остается, поэтому soluti on должен удалить текст перед удалением строки, например:

textField.dispose(); 
table.remove(table.getSelectionIndex()); 
Смежные вопросы