treenode data
场景:deplhi 怎么通过treeNode的data属性来查找treeview对应的treeNode
deplhi 如何通过treeNode的data属性来查找treeview对应的treeNode
现在想通过某个treeNode的data属性来得到该节点,网上找了好多方法都不能用,特来请教各位大大,希望各位给予解答。我的treeview的每个treeNode都有一个唯一的id,存放在每个treeNode的data中,请问如何通过这个id也就是每个treeNode中的data获得对应的treeNode?
------解决方案--------------------
http://blog.****.net/bdmh/article/details/5857236
参考里面的FindParentNode
------解决方案--------------------
deplhi 如何通过treeNode的data属性来查找treeview对应的treeNode
现在想通过某个treeNode的data属性来得到该节点,网上找了好多方法都不能用,特来请教各位大大,希望各位给予解答。我的treeview的每个treeNode都有一个唯一的id,存放在每个treeNode的data中,请问如何通过这个id也就是每个treeNode中的data获得对应的treeNode?
------解决方案--------------------
http://blog.****.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;