erich.wanker Posted March 20, 2015 Share Posted March 20, 2015 Hello in a Treeview - i have 3 Nodes with childs .. the Node-values are from 3 dbTables (node1,node2 and node3 are "captions" of the Table-names) the child-"objects" are db-records i allways get errors if i click a node.. How can i open the right table and record if a user clicks on a object? .. ( i have no TAG-Value to store the unique Integer of a record to a child objekt - just the string value ?) how can i update a Node - if a new record is stored - or should i clear all items and write everything new? ThanX for informations uses ..... uniTreeView, vcl.ComCtrls; private SelectedNode : TUniTreeNode; create Nodes:var mynode :TuniTreeNode; begin mynode := TUniTreeNode.Create; UniTreeView1.Items.Clear; mynode := UniTreeView1.Items.AddNode(nil,nil, 'Mainnode1', Pointer(0), naAddFirst); UniTreeView1.Items.AddChild(mynode, 'Object1'); UniTreeView1.Items.AddChild(mynode, 'Object2'); UniTreeView1.Items.AddChild(mynode, 'Object3'); mynode := UniTreeView1.Items.AddNode(nil,nil, 'Mainnode2', Pointer(0), naAddFirst); UniTreeView1.Items.AddChild(mynode, 'Object1'); UniTreeView1.Items.AddChild(mynode, 'Object2'); UniTreeView1.Items.AddChild(mynode, 'Object3'); mynode := UniTreeView1.Items.AddNode(nil,nil, 'Mainnode3', Pointer(0), naAddFirst); UniTreeView1.Items.AddChild(mynode, 'Object1'); UniTreeView1.Items.AddChild(mynode, 'Object2'); UniTreeView1.Items.AddChild(mynode, 'Object3'); end; procedure TUniFrame7.UniTreeView1Change(Sender: TObject; Node: TUniTreeNode); begin SelectedNode:=Node; end; procedure TUniFrame7.UniTreeView1Click(Sender: TObject); begin showmessage(SelectedNode.Text +' ... '+ SelectedNode.Parent.Text); ---> ERROR end; Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted March 20, 2015 Administrators Share Posted March 20, 2015 UniTreeView already has a property named Selected. Please use it instead. Link to comment Share on other sites More sharing options...
erich.wanker Posted March 20, 2015 Author Share Posted March 20, 2015 ThanX Farshad ..all right ... works.. :-) But a small additional question: UniTreeView1.FullExpand; -> doesn´t work ? AND How can i save a unique number to a child .. i am searchin something like: current_node:=UniTreeView1.Items.AddChild(mynode, 'Object1'); current_node.ImageIndex:=-1; current_node.tag := unique_db_recordnumber; also for reading the value: procedure TUniFrame7.UniTreeView1Click(Sender: TObject); begin SelectedNode:=UniTreeView1.Selected; if (SelectedNode <> nil) AND (SelectedNode.Level>0) then showmessage(SelectedNode.Text +' ... '+ SelectedNode.Parent.Text + 'RecordNr.:'+inttostr(SelectedNode.tag) ); end; Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted March 20, 2015 Administrators Share Posted March 20, 2015 UniTreeView1.FullExpand; -> doesn´t work ? Pls post a code sample. current_node.tag := unique_db_recordnumber; Node has property named Data. It is a pointer. You can cast it to hold an integer. Link to comment Share on other sites More sharing options...
Abaksoft Posted April 3, 2015 Share Posted April 3, 2015 Hellow Erich, For Data property see Topic #8 : http://forums.unigui.com/index.php?/topic/5054-tunitreewview/?hl=obj&do=findComment&comment=25818 Regards. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now