2015-01-12 95 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

刪除項目後不需要刷新表格。只要調用'表#remove()'應該做。你確定'getSelectionIndices()'不是空的並且包含現有的索引嗎?或者,您可以通過'TableItem#dispose()'處理所選項目。 –

+0

發現問題,請參閱下面的答案,謝謝! – CJ1

回答

0

發現問題,我在行內部有一個Text組件,所以如果我刪除行似乎仍然是Text字段,那麼soluti就是在刪除行之前部署文本,如下所示:

textField.dispose(); 
table.remove(table.getSelectionIndex()); 
相關問題