如何显示出TREEVIEW中的data数据,并令其于可写或只读状态?

解决方案 »

  1.   

    pstr是一个自己定义的一个指向字符串的指针.
    cus_str:=Pstr(TTnode.Data)^;
    data的读通过程序控制.
      

  2.   

    我扫描了一个treeview,已经显示,现在想在listbox中显示相应节点的内容,节点内容存在
    var DataOut: array[1..256] of char 中,如何实现?
    用ListBox1.Items.Add(DataOut)为何不行,我知道add()中要用const
      

  3.   

    to all
    我的意思是说:将每一个节点的DATA显示在对应的节点上.
      

  4.   

    treeview的data属性是一个指针,当然,指针指向的位置可以存储你想存储的任何内容:
    首先,得声明你的指针和你想要在节点存储的数据(如果有多个字段,可以用记录来处理);
    type
      ptr=^schar
      schar=record
        field1:string,
        field2:integer,
        ...
      end;
    在加载树时你可以将你想要存储到节点的数据放进schar:
    var
     p:ptr
    ....
     new(p);
     p^.field1:='aaa';//在此可读入数据
     p^.field2:=1; 
    ....
     treeview.items.addchildobject(node,'',p);
    ...
     这样,附加信息就写入了节点的data;如何读取呢:
    下面是一段删除选中节点及子节点的代码(同时删除数据库中对应数据):
    procedure TForm1.detree(node: ttreenode);
    var
      tnode:ttreenode;
      i:integer;
      s1,s2:string;
    begin
      if node.HasChildren then
      begin
        for i:=node.Count-1 downto 0 do
        begin
          if node.Item[i].HasChildren then
          detree(node.Item[i]);
          s1:=pchar(node.Item[i].Data)^.mcaption;
          s2:=pchar(node.Item[i].data)^.tcaption;
          with form1.pub do
          begin
            close;
            sql.Clear;
            sql.Add('delete BOMMD where MD001=:AA and MD003=:BB');
            parameters[0].Value:=s1;
            parameters[1].Value:=s2;
            ExecSQL;
          end;
          node.Item[i].Delete;
        end;
      end;
      node.Delete;
    end;
      

  5.   

    注意:
    s1:=pchar(node.Item[i].Data)^.mcaption;
    s2:=pchar(node.Item[i].data)^.tcaption;
    这两句读取Data属性存储的附加数据,这里申明的指针及记录与前面不一样。
      

  6.   

    TO 老王
    每一个树结点上的 data 值是隐含看不见的,我只是想将其显示在对应的树结点上.
      

  7.   

    TO all
    每一个树结点上的 data 值是隐含看不见的,我只是想将其显示在对应的树结点上.
    就象是 text 的值一样。当然,是先显示 data 的值,然后再显示 text 的值。
    是否有一个属性,可以设置 data 值的显示与隐含。
      

  8.   

    每一个树结点上的 data 值是隐含看不见的,我只是想将其显示在对应的树结点上.
    就象是 text 的值一样。当然,是先显示 data 的值,然后再显示 text 的值。
    是否有一个属性,可以设置 data 值的显示与隐含。楼主的话有问题啊
    不知道把DATA赋值给TEXT是否如楼主所想老王回答的已经不错了,!!
      

  9.   

    to wdsimon
    无论如何,还是先把分给你吧.