怎样在WEB中实现树型结构?

cl250 2003-08-30 11:58:43
我想将数据库中的记录以树型方式组织显示在网页中
数据库表结构为
*node_key int 4 0 节点(自动编号字段)
para_key int 4 1 父节点(指向父节点,如为0则为根节点)
node_name varchar 100 0 节点名称

如:
1 0 A
2 1 A-1
3 2 A-2
4 1 B-1
相应树为
A
|-A-1
| |--A-2
|-B-1

用什么技术实现?是什么原理?应如何写程序啊,在线等待,感谢
...全文
34 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cl250 2003-09-01
  • 打赏
  • 举报
回复
以上代码能在WEB中用吗?
我想和ASP混合使用。
猛禽 2003-09-01
  • 打赏
  • 举报
回复
用JavaScript实现, 具体可以参考CSDN左边的树的JS代码
tiexinliu 2003-08-30
  • 打赏
  • 举报
回复
用递归算法,找父亲节点id为当前节点ID的所有节点:
算法示例:
procedure TCustomerRelationFrm.CreateSubTree_all(FNodeName: string; Node: TTreeNode = nil);
var
mLocalName: string;
TreeNode: TTreeNode;
Ads_Tmp: Tclientdataset;
p:pstr;
begin
ADS_Tmp := Tclientdataset.Create(Self);
ADS_Tmp.RemoteServer:=mainfrm.SocketConnection1;
ADS_Tmp.ProviderName:='datasetprovider3';
with ADS_Tmp do
begin
Close;
CommandText :='QUERY_customer_By_Parent_No_sec '+''''+FNodeName+''''+','+''''+userid+'''';;
//SELF.Memo1.Lines.Add(commandtext);
Open;
First;
while not Eof do
begin
mLocalName := FieldbyName('ID').Asstring;
new(p);
p^:=mlocalName;
TreeNode :=self.tv_zb.Items.AddChildObject(Node, FieldByName('Name').AsString,p);
CreateSubTree_All(mLocalName, TreeNode);
Next;
end;
end;
ADS_Tmp.Free;
end;

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧