由于在下拉列表框里需要显示为树型结构,在fcTreeCombo里可以做到,写入资料的时候没有问题,现在读出节点的时候出问题.请问如何读出节点的值,如:在选中"广东省"时,需要读到001这个值
数据表bArea:
AreaId Areaname AreaLevel
001 广东省 1
001001 广州市 2
001002 东莞市 2
002 江西省 1下面是加入资料的代码:
procedure TForm1.fcShapeBtn1Click(Sender: TObject);
var
tmpNode,tmpNode2,tmpNode3,tmpNode4,tmpNode5,tmpNode6: TfcTreeNode;
cTableid,cFieldname:string;
PAreaID:^String;
begin
fcTreeCombo1.Clear;
with AdoQuery1 do begin
First;
while Not Eof do begin
cTableid:= FieldbyName('Areaid').AsString;
cFieldname:= FieldbyName('AreaName').AsString;
New(PAreaID);
PAreaID^:=cTableid;
with fcTreeCombo1.Items do begin
case FieldByName('AreaLevel').asInteger of
1: tmpNode := AddObject(nil, cFieldname,PAreaID );
2: tmpNode2:= AddChildObject(tmpNode, cFieldname,PAreaID );
3: tmpNode3:= AddChildObject(tmpNode2, cFieldname,PAreaID );
4: tmpNode4:= AddChildObject(tmpNode3, cFieldname,PAreaID );
5: tmpNode5:= AddChildObject(tmpNode4, cFieldname,PAreaID );
6: tmpNode6:= AddChildObject(tmpNode5, cFieldname,PAreaID );
else
end;
end;
Next;
end;
end;
end;
数据表bArea:
AreaId Areaname AreaLevel
001 广东省 1
001001 广州市 2
001002 东莞市 2
002 江西省 1下面是加入资料的代码:
procedure TForm1.fcShapeBtn1Click(Sender: TObject);
var
tmpNode,tmpNode2,tmpNode3,tmpNode4,tmpNode5,tmpNode6: TfcTreeNode;
cTableid,cFieldname:string;
PAreaID:^String;
begin
fcTreeCombo1.Clear;
with AdoQuery1 do begin
First;
while Not Eof do begin
cTableid:= FieldbyName('Areaid').AsString;
cFieldname:= FieldbyName('AreaName').AsString;
New(PAreaID);
PAreaID^:=cTableid;
with fcTreeCombo1.Items do begin
case FieldByName('AreaLevel').asInteger of
1: tmpNode := AddObject(nil, cFieldname,PAreaID );
2: tmpNode2:= AddChildObject(tmpNode, cFieldname,PAreaID );
3: tmpNode3:= AddChildObject(tmpNode2, cFieldname,PAreaID );
4: tmpNode4:= AddChildObject(tmpNode3, cFieldname,PAreaID );
5: tmpNode5:= AddChildObject(tmpNode4, cFieldname,PAreaID );
6: tmpNode6:= AddChildObject(tmpNode5, cFieldname,PAreaID );
else
end;
end;
Next;
end;
end;
end;
然后用 Getmem(PAreaID,100),分配内存,其他与原来相同。
^String 这个用法怪怪的
下面出了一个新问题,由于TfcTreeNode与TTreeNode不一定,请各位指点一下
请问如何知道'001',指定到'广东省'那地方去,谢谢