2 u013165534 u013165534 于 2014.05.09 22:41 提问

怎么让一棵树默认展开了,我是这样写的 但是每次都要点击

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();
                }
            }
        }
    });

1个回答

sora145236
sora145236   2014.05.16 09:31

treeItem.setExpanded(true);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!