假如我有一个数据库,里面有 N 个字段,其中有两个字段 ID,Description
现在我想根据 ID 来建立树的节点
   FieldList.Add(DataModule1.ADOTable1.fieldbyname ('ID').AsString);   TreeAddItem (TreeView1, GetFieldList, DataModule1.ADOTable1.GetBook, false);
但是这样建立后,节点的名称是 ID,有没有办法用ID来建立却让它显示另一个字段 如: Description 的内容 ?小弟先在此谢谢啦~~~~~~~~~
分少可以加~~~~帮帮我啊~~~~~~~~~~~~~~~~~~~~

解决方案 »

  1.   

    你让节点做为判断语句,,
    成立的时候就取出Description
    的值噻。
      

  2.   

    我想你的问题应该是这样的,显示名称但是可以知道每个节点的ID先定义一个结构
      PNode=^TNode;
      TNode=record
        id: integer;
        Name: string;
      end;加载树时
    var
      p: PNode;
      cnode: TTreeNode;
    begin
      with Query1 do
      begin
        Close;
        Sql.Text:='select id,name from sysuser';
        Open;
        First;
        new(p);
        p.id:= FieldByName('id').AsInteger;
        p.name:= FieldByName('name').AsString;
        While not eof do
        begin
          CNode := TreeView1.AddChildObject(nil, FieldByName('Name').AsString, p);
          Next;
        end;
      end;
    end;取ID时,比如单击树
    if TreeView1.Selected<>nil then
      PNode(TreeView1.Selected.Data).ID;
      

  3.   

    可能我没有说清楚~~~~~~~~~~~
    比如我有这样一个表
         id                  Description
         1                       asd
         2                       sdfg
         3                       sg 现在我建立的树是这样的:
         1
         2
         3
    但我想生成的树是这样:
         asd
         sdfg
         sg有什么办法吗??? newc_k(帕拉丁),你说的我还没看懂~~~~~~~ sorry !!~~~~~~~
    正在加油解读中........
      

  4.   

    不会吧~~~~~~~~~
    我觉得应该比较易懂了吧~~~~~~~~
    HELP!!!!!!!
      

  5.   

    那你直接加上不就完了?
    treeview1.addchild(nil, Query1.FieldByname('Description').asstring)
      

  6.   

    如果你的ID是一个整数,则可以把它存放在树节点的data成员中(这是一个指针,可以放一个整数兼容的值,如果是其他类型的ID,可能需要自己分配空间了),然后节点显示的字符串可以为数据表中其它字段