有时候需要点击表格某列的时候,实现全选与全不选。那么可以将首列文本设置为空来实现这个功能。一般是用在check样式的Table或CheckboxTableViewer上。
具体看代码:
TableColumn columnCheck = new TableColumn(searchResults, SWT.NONE);
columnCheck.setText("");//文本设置为””
columnCheck.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e) {
setAllCheckedStatus(!_boAllSelected);//实现全选与全取消功能
}
});
//其它列略
TableColumn columnTitle = new TableColumn(searchResults, SWT.NONE);
columnTitle.setText(Messages.getString("PlaylistView.Title"));
searchResults为Table类型,TableViewer是通过table封装的。
searchResults = toolkit.createTable(searchResultClient, SWT.CHECK | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);
viewer = new TableViewer(searchResults);
private void setAllCheckedStatus(boolean status){
for (int i = 0; i < searchResults.getItemCount(); i++) {
searchResults.getItem(i).setChecked(status);
}
_boAllSelected = status;
}
如图: