ASP。NET C#语言编写,TreeView从数据库中读取字段生成树。树的效果效果类似于CSDN论坛的。。谢谢。。。
C# code:
function CreateClassTree(aParent: TTreeNode;
Level: integer; SLevel, SText,Scode: TStrings;aClassTree:TTreeNodes;aLevelWord:String): boolean;
var
I:integer;
TempNode:TTreeNode;
begin
Result:=False;
//TempNode:=TTreeNode.Create(Nil);
For i:=0 to Slevel.Count-1 do
begin
//添加子结点
//是否符合级别
if length(Slevel.Strings[i])=(level+1)*3 then
if level=0 then
begin
TempNode:=aclassTree.Add(aparent,sText.Strings[i]+'('+Scode.Strings[i]+')');
CreateClassTree(tempnode,level+1,Slevel,stext,Scode,aclasstree,Slevel.Strings[i]);
Result:=True;
end
else
begin
if copy(slevel.Strings[i],0,level*3)=aLevelWord then
begin
TempNode:=aclassTree.AddChild(aparent,sText.Strings[i]+'('+Scode.Strings[i]+')');
CreateClassTree(tempnode,level+1,Slevel,stext,sCode,aclasstree,Slevel.Strings[i]);
Result:=True;
end;
end;
end;
//tempnode.Free;
end;
//深度优先算法建子树
Function CreateBomTree(aParent:TTreeNode;aTblBomCName,aMFieldName,aCFieldName,aRootName:String;aAdoConn:tAdoconnection;aTree:TTreeNOdes):Boolean;
var
i:integer;
TempNode:TTreeNode;
TempQry:TAdoQuery;
begin
Result:=False;
TempQry:=TAdoQuery.Create(nil);
Try
//找子结点
TempQry.Active:=False;
TempQry.SQL.Clear;
Tem