for i:=0 to treeview.items.count -1 do if lowercase(treeview.items[i].text) = lowercase(edit.text) then begin treeview.items[i].text:=edit.text; break; end;
for i:=0 to treeview.items.count -1 do if lowercase(treeview.items[i].text) = lowercase(edit.text) then begin treeview.items[i].selected:= true; break; end;
二楼是对的,还不结贴?for i:=0 to treeview.items.count -1 do if lowercase(treeview.items[i].text) = lowercase(edit.text) then begin treeview.items[i].selected:= true; break; end;
还是感觉DBTree方便,例如:dxdbtree,可以连接数据集的,如果需要查找,只需要使用数据集查询功能就可以了,比如:你查询张三: if AdoQuery.Locate('Name', '张三', []) then begin //有张三 end;如果不使用dbtree,就需要自己写,不过上面几位已经给出方法了。
for i:=0 to treeview.items.count-1 do begin NowNode:=Tree.items[i]; // 取出当前的选中节点 TipName:=NowNode.text; // 取出当前的选中节点的标题 IF TipName=s THEN // 比较或改为在TipName中查找s BEGIN k:=I; NowNode.selected; end; end;1、k记录结点的编号; 2、在TreeView中的结点被选中; 3、S为待选择的结点标题字符串
if lowercase(treeview.items[i].text) = lowercase(edit.text) then
begin
treeview.items[i].text:=edit.text;
break;
end;
treeview.items[i]中的这个i如何得到呢?除了循环的方法有没有indexof之类的函数?
2、确定每个子结点的父结点;
3、对于新增父结点使用语句:
NewNode:=TreeView.Items.AddChild(nil,TipName);
4、对于新增子结点使用语句:
NewNode := TreeView.Items.AddChild( NowNode,TipName);
注:NowNode为父结点
TipName为该结点的显示字符
if lowercase(treeview.items[i].text) = lowercase(edit.text) then
begin
treeview.items[i].selected:= true;
break;
end;
if lowercase(treeview.items[i].text) = lowercase(edit.text) then
begin
treeview.items[i].selected:= true;
break;
end;
if AdoQuery.Locate('Name', '张三', []) then
begin
//有张三
end;如果不使用dbtree,就需要自己写,不过上面几位已经给出方法了。
begin
NowNode:=Tree.items[i]; // 取出当前的选中节点
TipName:=NowNode.text; // 取出当前的选中节点的标题
IF TipName=s THEN // 比较或改为在TipName中查找s
BEGIN
k:=I;
NowNode.selected;
end;
end;1、k记录结点的编号;
2、在TreeView中的结点被选中;
3、S为待选择的结点标题字符串
-------------------------------------------------------------------
需要设置一下几点:1、DataSource
2、KeyField:主键
3、ListField:树节点上需要显示的字段;
4、ParentField:既然是树,肯定有上级几点字段;设置好以上后,数据集只要有数据就可以了。