我正在实施一棵树。此树有五个treecolumn
,在设计时默认选中五个treecolumn
第一列复选框。
现在我创建了两个treeitem
第一个父亲和第二个孩子。所有数据都来自此treeItem
中的数据库。
如果我选中父复选框,则应自动选中所有子复选框。enter link description here
如果我取消选中父级,则应取消选中所有孩子。我怎样才能克服这种情况呢?
答案 0 :(得分:1)
在eclipse rcp(Java)中使用树选中或取消选中所有子项的
父项。
tree.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
if (event.detail == SWT.CHECK) {
TreeItem item = (TreeItem) event.item;
boolean checked = item.getChecked();
checkItems(item, checked);
}
}
});
checkItems()方法两个参数第一个树项和第二个布尔值是否已选中
static void checkItems(TreeItem item, boolean checked) {
item.setGrayed(false);
item.setChecked(checked);
TreeItem[] items = item.getItems();
for (int i = 0; i < items.length; i++) {
checkItems(items[i], checked);
}
}