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;