Chỉ cần tạo hai hình ảnh của hộp kiểm. Đầu tiên mà không có một đánh dấu và thứ hai có một tick.Now thêm hình ảnh đầu tiên vào tiêu đề tableColumn. Sau đó thêm người nghe vào bảngColumn theo cách mà khi bạn nhấp vào nút lần đầu tiên, phương pháp table.selectALL()
sẽ được kích hoạt cùng với việc thay đổi hình ảnh tiêu đề tableColumn thành hình ảnh thứ hai. Khi bạn nhấp lại vào nút, hãy gọi phương thức table.deSelectAll()
và thay thế tiêu đề tableColumn bằng hình ảnh đầu tiên.
Bạn có thể sử dụng điều kiện này:
Khi hộp kiểm (ảnh) được nhấp, sử dụng một vòng lặp for để kiểm tra xem, bất kỳ hộp kiểm trong bảng sẽ được kiểm tra. nếu có ai được tìm thấy kiểm tra thì phương thức table.deSelectAll() cháy, nếu không thì phương thức table 01.sẽ bị cháy.
Sẽ không có bất kỳ vấn đề nào đối với "hộp kiểm" trong khi đổi kích thước bảng/góa phụ.
tableColumn0.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
// TODO Auto-generated method stub
boolean checkBoxFlag = false;
for (int i = 0; i < table.getItemCount(); i++) {
if (table.getItems()[i].getChecked()) {
checkBoxFlag = true;
}
}
if (checkBoxFlag) {
for (int m = 0; m < table.getItemCount(); m++) {
table.getItems()[m].setChecked(false);
tableColumn0.setImage(new Image(Display.getCurrent(),
"images/chkBox.PNG"));
table.deselectAll();
}
} else {
for (int m = 0; m < table.getItemCount(); m++) {
table.getItems()[m].setChecked(true);
tableColumn0.setImage(new Image(Display.getCurrent(),
"images/chkBox2.PNG"));
table.selectAll();
}
}
}
});
Nguồn
2011-06-28 06:11:40
Xin lỗi vì phản ứng chậm. Tôi đã cố gắng để thử điều này cho các lứa tuổi. Sẽ cho nó một đi và chấp nhận nếu nó làm những gì tôi nghĩ rằng nó sẽ :) Cảm ơn! –
Không sao cả. Thả một bình luận nếu nó không hoạt động như mong đợi. –