节点重复增加, 请大家帮忙解决
procedure TForm1.Button1Click(Sender: TObject);
var
myshuju: PMyData ;begin
Treeview1.Items.Clear;
TreeView1.Items.Add(nil,'供应商信息'); while Not Adotable1.Eof do
begin
New(Myshuju); //记住,一定要先分配内存。有几个节点,就要分配几次内存。
myshuju^.sFName:=Adotable1.fieldbyname('cVccode').AsString;
Myshuju^.sLName :=Adotable1.fieldbyname('cVcname').AsString; with TreeView1 do
begin
Tlist[0]:=items.AddChild(TreeView1.Items[0], myshuju.sLname);
Tlist[0].data:=myshuju;
Tlist[0].ImageIndex:=0;
Tlist[0].Selected;
Tlist[0].ImageIndex:=2;
end;
AdoTable1.Next ;
end; end;
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
a:integer;
begin ADoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('SELECT A.cVenName, B.cVCName FROM Vendor AS A INNER JOIN VendorClass AS B ON A.cVCCode = B.cVCCode');
AdoQuery1.Open; While NOt AdoQuery1.Eof do
begin
for a:=0 to TreeView1.Items[0].Count -1 do begin if TreeView1.Items[0].item[a].Text= AdoQuery1.FieldByName('cVCname').AsString then
begin Tlist[1]:=TreeView1.Items.AddChild(TreeView1.Items[0].Item[a],ADoQuery1.fieldByName('CVenName').AsString );
end;
end;
AdoQuery1.Next ;
end;
AdoQuery1.Close;
AdoQuery1.SQL.Clear; end;
end.
procedure TForm1.Button1Click(Sender: TObject);
var
myshuju: PMyData ;begin
Treeview1.Items.Clear;
TreeView1.Items.Add(nil,'供应商信息'); while Not Adotable1.Eof do
begin
New(Myshuju); //记住,一定要先分配内存。有几个节点,就要分配几次内存。
myshuju^.sFName:=Adotable1.fieldbyname('cVccode').AsString;
Myshuju^.sLName :=Adotable1.fieldbyname('cVcname').AsString; with TreeView1 do
begin
Tlist[0]:=items.AddChild(TreeView1.Items[0], myshuju.sLname);
Tlist[0].data:=myshuju;
Tlist[0].ImageIndex:=0;
Tlist[0].Selected;
Tlist[0].ImageIndex:=2;
end;
AdoTable1.Next ;
end; end;
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var
a:integer;
begin ADoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('SELECT A.cVenName, B.cVCName FROM Vendor AS A INNER JOIN VendorClass AS B ON A.cVCCode = B.cVCCode');
AdoQuery1.Open; While NOt AdoQuery1.Eof do
begin
for a:=0 to TreeView1.Items[0].Count -1 do begin if TreeView1.Items[0].item[a].Text= AdoQuery1.FieldByName('cVCname').AsString then
begin Tlist[1]:=TreeView1.Items.AddChild(TreeView1.Items[0].Item[a],ADoQuery1.fieldByName('CVenName').AsString );
end;
end;
AdoQuery1.Next ;
end;
AdoQuery1.Close;
AdoQuery1.SQL.Clear; end;
end.
解决方案 »
- 请问Inno Setup完成安装时的文字在哪里设置?
- 如何提取sql的image类型数据后赋给string类型的变量?
- 再线等待!!如何合并swf文件。谢谢帮忙~~~
- 如何将一段文章插入到ACCESS备注字段中?在线等待
- c++builder 和Delphi哪个好?不好在哪?好在哪?
- Scoket问题
- 高分请教一个项目计划中的问题
- 请问各位大虾:哪有delphi5.0或delphi6.0可下载
- 为什么我的MTS/COM+系统会不能Updata?Why?按李维的办法做的!急!
- 谁用过Visual Broker, 给讲讲。
- 请权威人士给点意见:在3层系统中,我要传一个很大的字符串(widestring)(不传流)给服务端,可行吗,数据会丢失吗?
- 这么简单的问题怎么会没人知道,如何删除Delphi中ActiveX面板中的控件,为什么只有Hide?
这个代码,,估计是条件没约束好啊,,,节点就重复增加了... 自己再好好看这句啊...也不讲清楚..