Scroll a node into view -- ASPNET 2.0 Treeview

W

William Sullivan

Anybody figure this out? I can't figure out how to get the node's client
side control ID in order to grab aholt of it. I've seen a post that says
that the node's ID is: TreeView.ID + (index of the TreeNode in
TreeView.Nodes collection). The problem is that, even after a postback, you
can't get the index of the treenode in the collection. You'd think that this
would work:
(after SelectedNodeChanged postback)
TreeView.Nodes.IndexOf(TreeView.SelectedNode)
--or--
(when you have the ValuePath)
TreeView.Nodes.IndexOf(TreeView.FindNode(ValuePath))

Both of which return -1 for the node index. So what's the solution?
 
W

William Sullivan

Placing the solution here for future reference:

The TreeView creates an object in Javascript on the client side that's called
[treeview name]_Data
i.e., if the treeview is named tvNavigation, the object's name would be
tvNavigation_Data
This object has a property called selectedNodeID. This property has a ...
property called value that contains the id of the currently selected node. So

var name = tvNavigation_Data.selectedNodeID.value;
var selectedNode =
Document.all?Document.all[name]:Document.getElementById(name);
if(selectedNode){ selectedNode.scrollIntoView(true); }

will scroll the currently selected node into view.
 
W

William Sullivan

The TreeView creates an object in Javascript on the client side that's called
[treeview name]_Data
i.e., if the treeview is named tvNavigation, the object's name would be
tvNavigation_Data
This object has a property called selectedNodeID. This property has a ...
property called value that contains the id of the currently selected node. So

var name = tvNavigation_Data.selectedNodeID.value;
var selectedNode =
Document.all?Document.all[name]:Document.getElementById(name);
if(selectedNode){ selectedNode.scrollIntoView(true); }

will scroll the currently selected node into view.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top