树形的操作,如何取树中的索引值。 (50分)

  • 主题发起人 主题发起人 yym
  • 开始时间 开始时间
Y

yym

Unregistered / Unconfirmed
GUEST, unregistred user!
有一表结构为ID和NAME,其中NAME有相同的值,ID唯一,没有规律,树有多层。
本来想由NAME搜索ID值,但NAME不唯一,后来只能在树中加入ID,显示结果为ID+NAME,
例如:id=1,name='测试', 显示为: 1-测试,
再用拷贝字符串的方法取得,想问各位大虾如何在树中只显示NAME值,点击树中对应
的NAME,而后取出ID值。
 
把id值存在treeview.selected.data里
 
问题不明确
 
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TreeView1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var p:^Integer;
i:Integer;
begin
For i:=0 to 10 do
begin
New(p);
p^:=i;
TreeView1.Items.AddObject(nil,'New Node',p);
//把要加入到节点的数据作为指针加入到Node的Data中;
end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
Var i:Integer;
P:^Integer;
begin
For i:=0 to TreeView1.Items.Count-1 do
begin
P:=TreeView1.Items.Data;
TreeView1.Items.Data:=nil;
Dispose(p);
//有分配就有释放。
end;
end;

procedure TForm1.TreeView1DblClick(Sender: TObject);
Var P:^Integer;
begin
if TreeView1.Selected<>nil then
begin
P:=TreeView1.Selected.Data;
ShowMessage(IntToStr(P^));
//从Node.Data中取出数据。
end;
end;

end.
 

Similar threads

后退
顶部