关于三级目录树的建立,请帖完整的程序(100分)

  • 主题发起人 主题发起人 幼虫2003
  • 开始时间 开始时间

幼虫2003

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库:paradox 7
库1: list.db
顺序号 标 题 库名
1 刑法 xf.db
2 民法 mf.db
3 婚姻法 hyf.db
.. .. ..
.. .. ..
库2: xf.db
顺序号 节点符 标 题 内容
1 1 总则
2 1 第一章
3 2 第一条 11
4 2 第二条 12
5 1 第二章
6 2 第一条 21
7 2 第二条 22

库3: mf.db
顺序号 节点符 标 题 内容
1 1 总则
2 1 第一章
3 2 第一条 211
4 2 第二条 212
5 1 第二章
6 2 第一条 221
7 2 第二条 222
库4: hyf.db 略

生成的树为:
刑法-----总则
| |
| |-第一章--
| | |--第一条
| | |__第二条
| |
| |-第二章--
| |--第一条
| |__第二条
|
刑法-----总则
| |
| |-第一章--
| | |--第一条
| | |__第二条
| |
| |-第二章--
| |--第一条
| |__第二条
|
婚姻法 (略)

各位好友都有什么高招,快贴上来,已经测试立即发分!




 
f_id f_pid f_name
1 0 总则
2 1 第一章
3 1 第二章
4 2 第一章第一节
5 2 第一章第二节

看明白了???
 
没明白。
 
f_id f_pid f_name
1 0 总则
2 1 第一章
3 1 第二章
4 2 第一章第一节
5 2 第一章第二节
(f_pid=0)总则(f_id=1)------
------ (f_pid=1)第一章(f_id=2)
------ (f_pid=2他老爸的f_id)第一章第一节
------ (f_pid=2他老爸的f_id)第一章第二节
------ (f_pid=1)第二章
 
TreeView在addChild的时候,第一个参数是父节点
 
麻烦你说的再明白点,最好写出完整的程序,我是新手,又被这个TTreeView搞糊涂了
 
好象数据库结构不太合理,每一种法律用一个表是不是太杂乱了?
 
简单呀,去查询一下,关键字Bom
 
louhong,我是考虑以后可以单独修改其中一个库,
而且个个库可能越来越大,做一个库后期会很烦
 
人在昆明,怎么查?链接在那里
 
那要看你的数据库是什么了,你打算把所有的法律条文搞进去??
www.google.com 步行么?
 
人在昆明,是的我用了MOME字段处理条文。我去GOOGLE看看
 
我太笨了,又是新手,大家给点鼓励,
 
你添加节点时,分析一下父ID就是,
不要觉得我说的是废话, 我认为这样的事应该自己多研究一下, 三级就没办法搞定了, 多几级不麻烦死了?
 
自动生成分层树 //转贴 来自tokey
数据库结构
id parent name .....flag
1 0 str 1
2 1 str 2
flag 是标记字段,你可以标记不同的内容,


pinfo=^nodepro;
nodepro=record
id:integer;
str:string;
flag:integer;
end;

select * from flb
where (parent=:@parentid) and (flag=:@flag)
order by flb_id
Faddtreenode(Mtree:Ttreeview;Mnode:Ttreenode;fieldid,fieldstr,fieldflag:string;parentid,flagid:integer);
var
childnum:integer;
nd,nd1:Tfctreenode;
begin
with mydata.Aqy_flb do
try
if active then close;
parameters[0].Value:=parentid;
parameters[1].Value:=flagid;
prepared:=true;
open;
if not isempty then
begin
disablecontrols;
first;
nd:=nil;
while not eof do
begin
new(info);
info.id:=fieldbyname(fieldid).Asinteger;
info.str:=fieldbyname(fieldstr).asstring;
info.flag :=fieldbyname(fieldflag).AsInteger ;
nd:=Mtree.Items.AddChildobject(Mnode,info.str,info);
next;
end;
nd1:=nd.parent; //返回到所加节点的父节点
nd:=nd1.GetFirstChild; //父节点的第一个叶节点
for childnum:=0 to nd1.Count-1 do
begin
Faddtreenode(Mtree,nd,fieldid,fieldstr,fieldflag,Pinfo(nd.data)^.id,flagid);
nd:=nd.GetNextSibling; // 叶节点的同级节点
end;
enablecontrols;
end else exit ;
prepared:=false;
except
messagebox(handle,'操作数据时出现错误!','错误',mb_ok);
end;
end;
 
我没说清楚题目吗?
 
txyqbf_gxx@163.com 给我发邮件,我给你一个数据库结构和简单代码,不过能不能
调试过去我就不知道了,我给公司新员工的 测试题目,我也是新员工 哈哈,刚毕业
 
谢谢大伙,
谢谢KKYY,我实在是急了,烟抽没了。
一剑穿心,我试试。
 
其实,如果你的数据库特别的大的话,可以考虑 一个数据库存储表头,其他的表分着存,
不过这个东西自己把握了。
 
人在昆明,你说的很好,我也是这么做的。见题帖:库1就是表头索引库,其它的库
存相应的条文内容。
这几天正忙着调试,然后就发分,大家别急。
 
后退
顶部