treeview 应用的问题,查找的 问题?

aaa2520 2007-11-16 08:44:20
怎么在 treeview 中的所有结点中 ,查询结点等于某个值,如果查询到 返回该结点,否则返回空?
...全文
91 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxuelid 2007-11-16
  • 打赏
  • 举报
回复
var
str: string;
str:=edit1.text;
for i:=0 to Treeview1.items.count-1 do
Begin
if str=Treeview1.items.item[i] then
Showmessage(Treeview1.Items.Item[i]);
End;
aaa2520 2007-11-16
  • 打赏
  • 举报
回复
没看太明白
有没有 简单的方法 ?
wangxuelid 2007-11-16
  • 打赏
  • 举报
回复
好象没有上面楼上那样复杂,

var
str: string;
str:=edit1.text;
for i:=0 to Treeview1.items.count-1 do
Begin
if str=Treeview1.items.item[i] then
Showmessage(Treeview1.Items.Item[i]);
End;
liuhengwinner 2007-11-16
  • 打赏
  • 举报
回复
var
SearchTreeArray:GetSearchTreeArray;
i:integer;
begin
i:=0;
SearchTreeArray:=searchInTree(SearchTreeArray,Lvw_sendmobile,edtKeyValue.Text);
// showmessage(inttostr(searchTreeArray[0]));
Lvw_sendmobile.Selected:=nil;
Lvw_sendmobile.SetFocus;
for i:=0 to (length(searchTreeArray)-1) do
begin
Lvw_sendmobile.Items[searchTreeArray[i]].Selected:=true;
end;
end;
这是调用
liuhengwinner 2007-11-16
  • 打赏
  • 举报
回复
GetSearchTreeArray=array of integer;
liuhengwinner 2007-11-16
  • 打赏
  • 举报
回复
function searchInTree(STA:GetSearchTreeArray;mylistView:TbsSkinListView;searchStr:string):GetSearchTreeArray;
var
i,arrayI:integer;
begin
arrayI:=0;i:=0;
// setLength(STA,mylistView.Items.Count);
for i := 0 to mylistView.Items.Count-1 do
begin
if pos(searchStr,mylistView.Items[i].SubItems[0])>0 then
begin
inc(arrayI);
end;
end;
if arrayI>0 then
begin
setLength(STA,arrayI);
arrayI:=0;
for i := 0 to mylistView.Items.Count-1 do
begin
if pos(searchStr,mylistView.Items[i].SubItems[0])>0 then
begin
STA[arrayI]:=i;
inc(arrayI);
end;
end;
end else
begin
arrayI:=0;i:=0;
for i := 0 to mylistView.Items.Count-1 do
begin
if pos(searchStr,mylistView.Items[i].Caption)>0 then
begin
inc(arrayI);
end;
end;
setLength(STA,arrayI);
arrayi:=0;i:=0;
for i := 0 to mylistView.Items.Count-1 do
begin
if pos(searchStr,mylistView.Items[i].Caption)>0 then
begin
STA[arrayI]:=i;
inc(arrayI);
end;
end;
end;
result:=STA;
end;
jabmoon 2007-11-16
  • 打赏
  • 举报
回复
呵呵,通常的做法就是遍历,当然,如果你的TreeView建立是有规律的,也可以提高一下效率

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧