有三个省份,每个省份有三个市,每个市有三个县
我想作成一个多级目录
把每个省份名,市名,县名输入到TreeView中(都已在数据库中存储)
该如何做

解决方案 »

  1.   

    http://www.csdn.net/expert/topic/901/901024.xml?temp=8.260745E-02
    你看看这个吧,或许有帮助!
      

  2.   

    procedure TForm1::FormCreate(TObject *Sender)
    {
        ClientDataSet.Active:=true;
        TTreeNode *SubNode=TreeView1.Items.Add(NULL,"My RootNode");
        ClientDataSet.IndexFieldNames :="/*省份ID*/";    TLocateOptions Opts;
        Opts.Clear();
        Opts<<loCaseInsensitive;
        ClientDataSet.Locate("/*省份ID*/","",Opts);
        AddChildNode(SubNode,ClientDataSet);
    }function TForm1.AddChildNode(TTreeNode *Node,TClientDataSet *DataSet)
    {
        AnsiString /*市ID*/:=DataSet.FieldByName("/*市ID*/").AsString;
        AnsiString /*省份ID*/:=DataSet.FieldByName("/*省份ID*/").AsString;
        int RecordNo:=DataSet.RecNo;
        int *RecNo=new int(RecordNo);
        TTreeNode *SubNode=TreeView1.Items.AddChildObject(Node,DataSet.FieldByName("市").AsString,RecNo);    if( DataSet.Locate("/*省份ID*/",/*市ID*/,TLocateOptions()<<loCaseInsensitive)){
            AddChildNode(SubNode,DataSet);
            DataSet.RecNo=RecordNo;
        }
        DataSet.Next();
        if(!DataSet.Eof && /*省份ID*/==DataSet.FieldByName("/*省份ID*/")->AsString){
            AddChildNode(Node,DataSet);
        }
    }
    C++Builder 转行,可能语法不太合理,请指教。
      

  3.   

    Procedure Form1.form1create(sender:Tobject);
    var
      SubNode:TTreeNode;
      ParentNode:Array[1..3] of TTreeNode;
    begin
      
      
        ParentNode[1]:=Treeview1.Items.add(nil,Adotable.FieldByname['city1']);
        ParentNode[2]:=Treeview1.Items.add(nil,Adotable.FieldByname['city2']);
       ParentNode[3]:=Treeview1.Items.add(nil,Adotable.FieldByname['city3']);
       TreeView1.items.addChina(ParentNode[1],Adotable.FieldByname[县1]);
      。。
    end;
        
      

  4.   

    To ppilu(ppilu)
    我的油箱[email protected]
    谢谢