1。我在RzCheckTree中建了棵树
代码如下://只建了两级
type
PTree=record
Code:string;
Name:string;
end;
PModule=^PTree;
procedure TFrmRightSet.BuildTopTree(FatherNode:TTreeNode;ADOCon:TADOConnection);//FatherNode:±íʾҪÌí¼Ó½ÚµãµÄ¸¸Ç×½Úµã
var
P:PModule;
ADODa_tem:TADODataSet;
begin
try
ADODa_tem:=TADODataSet.Create(Application);
ADODa_tem.Connection:=ADOCon;
with ADODa_tem do
begin
Close; // where SupRiCode <> null and SupRiName <> null
CommandText:='select distinct SupRiCode,SupRiName from R_RIGHTLIST where menulevel=''2'' ';
Open;
end; while not ADODa_tem.Eof do
begin
new(p);
P.Code:=ADODa_tem.FieldByName('SupRiCode').AsString;
P.Name:=trim(ADODa_tem.FieldByName('SupRiName').AsString);
FatherNode:=RzCTree_RightList.Items.AddChildObject(RzCTree_RightList.TopItem,P.Name,P); FatherNode.ImageIndex:=1;
FatherNode.SelectedIndex:=2;
BuildTree_2(FatherNode,P.Code,ADOCon);
ADODa_tem.Next;
end;
finally
ADODa_tem.Free;
end;
end;procedure TFrmRightSet.BuildTree_2(FatherNode:TTreeNode;SupRiCode:string;ADOCon:TADOConnection);
var
P:PModule;
ADODa_tem:TADODataSet;
TreeNode:TTreeNode;
begin
try
ADODa_tem:=TADODataSet.Create(Application);
ADODa_tem.Connection:=ADOCon;
with ADODa_tem do
begin
Close; // where SupRiCode <> null and SupRiName <> null
CommandText:='select RightCode,RightName from R_RIGHTLIST where SupRiCode='''+trim(SupRiCode)+''' order by MenuPos ';
Open;
end; while not ADODa_tem.Eof do
begin
new(p);
P.Code:=ADODa_tem.FieldByName('RightCode').AsString;
P.Name:=trim(ADODa_tem.FieldByName('RightName').AsString);
TreeNode:=RzCTree_RightList.Items.AddChildObject(FatherNode,P.Name,P);
TreeNode.ImageIndex:=1;
TreeNode.SelectedIndex:=2;
ADODa_tem.Next;
end;
finally
ADODa_tem.Free;
end;
end;
问:怎么取的任意节点的code,name?2:比如我有个值Temp
我用刚才方法建的树中有个节点的name和这个temp值一样,我如何找到这个节点,并将这个节点前面的选择框钩上。
两个问题估计都只几行代码就可以解决。
对Raize控件比较熟悉的大侠帮帮我了,谢谢。
代码如下://只建了两级
type
PTree=record
Code:string;
Name:string;
end;
PModule=^PTree;
procedure TFrmRightSet.BuildTopTree(FatherNode:TTreeNode;ADOCon:TADOConnection);//FatherNode:±íʾҪÌí¼Ó½ÚµãµÄ¸¸Ç×½Úµã
var
P:PModule;
ADODa_tem:TADODataSet;
begin
try
ADODa_tem:=TADODataSet.Create(Application);
ADODa_tem.Connection:=ADOCon;
with ADODa_tem do
begin
Close; // where SupRiCode <> null and SupRiName <> null
CommandText:='select distinct SupRiCode,SupRiName from R_RIGHTLIST where menulevel=''2'' ';
Open;
end; while not ADODa_tem.Eof do
begin
new(p);
P.Code:=ADODa_tem.FieldByName('SupRiCode').AsString;
P.Name:=trim(ADODa_tem.FieldByName('SupRiName').AsString);
FatherNode:=RzCTree_RightList.Items.AddChildObject(RzCTree_RightList.TopItem,P.Name,P); FatherNode.ImageIndex:=1;
FatherNode.SelectedIndex:=2;
BuildTree_2(FatherNode,P.Code,ADOCon);
ADODa_tem.Next;
end;
finally
ADODa_tem.Free;
end;
end;procedure TFrmRightSet.BuildTree_2(FatherNode:TTreeNode;SupRiCode:string;ADOCon:TADOConnection);
var
P:PModule;
ADODa_tem:TADODataSet;
TreeNode:TTreeNode;
begin
try
ADODa_tem:=TADODataSet.Create(Application);
ADODa_tem.Connection:=ADOCon;
with ADODa_tem do
begin
Close; // where SupRiCode <> null and SupRiName <> null
CommandText:='select RightCode,RightName from R_RIGHTLIST where SupRiCode='''+trim(SupRiCode)+''' order by MenuPos ';
Open;
end; while not ADODa_tem.Eof do
begin
new(p);
P.Code:=ADODa_tem.FieldByName('RightCode').AsString;
P.Name:=trim(ADODa_tem.FieldByName('RightName').AsString);
TreeNode:=RzCTree_RightList.Items.AddChildObject(FatherNode,P.Name,P);
TreeNode.ImageIndex:=1;
TreeNode.SelectedIndex:=2;
ADODa_tem.Next;
end;
finally
ADODa_tem.Free;
end;
end;
问:怎么取的任意节点的code,name?2:比如我有个值Temp
我用刚才方法建的树中有个节点的name和这个temp值一样,我如何找到这个节点,并将这个节点前面的选择框钩上。
两个问题估计都只几行代码就可以解决。
对Raize控件比较熟悉的大侠帮帮我了,谢谢。
解决方案 »
- 为什么DBGrid无法获得焦点
- 怎么实现增量备份的还原
- 大家帮我看看,这样的编号怎么实现?
- 江西、南昌一IT公司,员工素质竟然如此低劣!!!先锋公司
- TIdhttp.get方法打开google搜索引擎发生错误?
- 请问哪有delphi 5 开发人员指南配套程序下载?
- 请帮忙,大虾门,在没有装Access中用win98系统中运行access作的数据库行不行?
- 我原来是学VB的,现在我想研究一下DELPHI又不知道从哪下手。
- oracle manager server有关的问题,在线等候,谢谢!
- 三层客户端连接不上服务器
- 如何使用 临界区 是线程同步。
- 关于delphi用消息机制在两个应用程序间传递变量的问题
for i:=0 to checktree1.items.count-1 do
begin
if checktree1.items[i].text=temp then
checktree1.StateIndex=2;
end;
谢谢你哦~~````
又是你回答我的问题。
上面的问题都解决了,其实,我是在checktree1.items.count后面忘了-1
所以搞了半天没搞出来,总报错说节点错误什么的。
呵呵,以后还望多指教啊~~``````