需求如题,解决办法有两种:
第一种:使用CheckboxTableViewer,因为tableview使用SWT.CHECK属性,它的勾选和你这一行是否选中是没有关系的,所以如果你要判断选中的行的话,应该使用CheckboxTableViewer,具体如下:
CheckboxTableViewer checkboxTableViewer = new CheckboxTableViewer(tableViewer.getTable());
//取得打勾记录
Object[] checkObj = checkboxTableViewer.getCheckedElements();
第二种:使用SWT.CHECK属性,但必须在监听tableview的table的select事件时,使用event.detail == SWT.CHECK得到选中的event.item