tree.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
TreeItem[] tis = tree.getSelection();
if (tis != null && tis.length > 0) {
TreeItem ti = tis[0];
id = (Integer) ti.getData(); // 取出被你 dianji的节点的id
// 根据这个id查它的子节点
String sql = "select * from tb_dept where parent_id=" + id;
try {
List<Dept> list = db.find(sql, null, Dept.class);
// 判断它有子节点吗?
if (list != null && list.size() > 0) {
// 有子节点。则将原来的子节点去掉,再重新给这个 ti加子节点
ti.removeAll(); // 将当前节点下的子节点清空.
for (int i = 0; i < list.size(); i++) {
Dept d = list.get(i);
TreeItem treeItem = new TreeItem(ti, SWT.NONE);
treeItem.setText(d.getName());
treeItem.setData(d.getId());
}
} else {
// // 没有子节点,表明选定这个部门..
// String deptname = ti.getText();
// text.setText(deptname);
}
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
});