| nbsp; , v_i, to_char(deptrec.deptno));
v_i := v_i + 1;
for emprec in cursor_emp(deptrec.deptno) loop
add_group_row(rg_depts, v_i);
set_group_number_cell(v_init_state, v_i, 1);
set_group_number_cell(v_level , v_i, 2);
set_group_char_cell (v_label , v_i, emprec.ename);
set_group_char_cell (v_icon , v_i, NULL);
set_group_char_cell (v_value , v_i, to_char(emprec.empno));
v_i := v_i + 1;
end loop;
end loop;
ftree.set_tree_property(''''tree_view.tree_org'''', ftree.record_group, rg_depts);
end;
结论:进行数据库设计时尽量把父子结构放在一张表,这样,使用查询生成记录组再生成树的方式最简单实用。如果不能实现,那么直接构造记录组也可生成树。如无特殊要求,一般不采取对树直接操作的方式。
附注:作者一般将生成树的程序放在Form Builder的“程序单元”中,在需要的地方调用来实时刷新树。
参考:Developer 6.0自带的PL/SQL程序库:navigate.pll
三、遗留问题
由于developer简化了树的设计,那么一些对树的转移、拷贝等操作就不太容易实现。这个课题还需要继续研究。
上一页 [1] [2] [3] [4] |