2015-01-12 54 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()); 
相关问题