首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

deplhi 怎么通过treeNode的data属性来查找treeview对应的treeNode

2012-05-27 
deplhi 如何通过treeNode的data属性来查找treeview对应的treeNode现在想通过某个treeNode的data属性来得到

deplhi 如何通过treeNode的data属性来查找treeview对应的treeNode
现在想通过某个treeNode的data属性来得到该节点,网上找了好多方法都不能用,特来请教各位大大,希望各位给予解答。我的treeview的每个treeNode都有一个唯一的id,存放在每个treeNode的data中,请问如何通过这个id也就是每个treeNode中的data获得对应的treeNode?

[解决办法]
http://blog.csdn.net/bdmh/article/details/5857236
参考里面的FindParentNode
[解决办法]

Delphi(Pascal) code
function GetTreeNodeByID(ATree: TTreeView; AID: integer): TTreeNode;var  i: integer;begin  result := nil;  for i := 0 to ATree.Items.Count-1 do  begin    if PInteger(ATree.Items.Item[i].data)^ = AID then    begin      result := ATree.Items.Item[i];      Exit;    end;  end;end;
[解决办法]
循环TreeView.Items,把data转换对应的类型,再取出ID对比就行了;符合就退出循环并返此TTreeNode
[解决办法]
var
id, i: Integer;
node: TTreeNode;
begin
id := 100;
node := nil;
for i := 0 to TreeView1.Items.Count - 1 do
if Integer(TreeView1.Items.Item[i].Data) = id then
begin
node := TreeView1.Items.Item[i];
Break;
end;

if node = nil then
ShowMessage('not found!')
end;

热点排行