Click to See Complete Forum and Search --> : Script to get selected Treeview node?


TubularX
July 8th, 2008, 05:26 AM
Main page:


Dim MyTreeControl As New ctlTreeControl()
MyTreeControl.ID = "MyTreeControl"

ctlTreeControl:


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim panelTree1 As New System.Web.UI.WebControls.Panel
panelTree1.ScrollBars = ScrollBars.Both
panelTree1.ID = "panelTree1"

Dim TreeView1 As New System.Web.UI.WebControls.TreeView
TreeView1.ID = "TreeView1"

'... TreeView1.Nodes.Add ... etc

panelTree1.Controls.Add(TreeView1)

Me.Controls.Add(panelTree1)

' call RegisterStartupScript to create a function AutoScrollSelectedNode().
' I want the script to get the selected node and then scroll down to it.
CreateStartupScripts()

End Sub


In the source of the rendered page:


<div>
<input type="hidden" name="ctl00_ContentBody_MyTreeControl_TreeView1_ExpandState" id="ctl00_ContentBody_MyTreeControl_TreeView1_ExpandState" value="eennennnnnenennnnnennennnnen" />
<input type="hidden" name="ctl00_ContentBody_MyTreeControl_TreeView1_SelectedNode" id="ctl00_ContentBody_MyTreeControl_TreeView1_SelectedNode" value="ctl00_ContentBody_MyTreeControl_TreeView1t10" />
<input type="hidden" name="ctl00_ContentBody_MyTreeControl_TreeView1_PopulateLog" id="ctl00_ContentBody_MyTreeControl_TreeView1_PopulateLog" value="" />
</div>

<script id="TreeViewScript" language=javascript>
function AutoScrollSelectedNode() {
var name = TreeView1_Data.selectedNodeID.value;
var selectedNode = document.getElementById(name);
// ...
}
</script>

<script type="text/javascript">
<!--
WebForm_InitCallback();var ctl00_ContentBody_MyTreeControl_TreeView1_Data = new Object();
ctl00_ContentBody_MyTreeControl_TreeView1_Data.images = ctl00_ContentBody_MyTreeControl_TreeView1_ImageArray;
ctl00_ContentBody_MyTreeControl_TreeView1_Data.collapseToolTip = "Collapse {0}";
ctl00_ContentBody_MyTreeControl_TreeView1_Data.expandToolTip = "Expand {0}";
ctl00_ContentBody_MyTreeControl_TreeView1_Data.expandState = theForm.elements['ctl00_ContentBody_MyTreeControl_TreeView1_ExpandState'];
ctl00_ContentBody_MyTreeControl_TreeView1_Data.selectedNodeID = theForm.elements['ctl00_ContentBody_MyTreeControl_TreeView1_SelectedNode'];
for (var i=0;i<6;i++) {
var preLoad = new Image();
if (ctl00_ContentBody_MyTreeControl_TreeView1_ImageArray[i].length > 0)
preLoad.src = ctl00_ContentBody_MyTreeControl_TreeView1_ImageArray[i];
}
ctl00_ContentBody_MyTreeControl_TreeView1_Data.lastIndex = 28;
ctl00_ContentBody_MyTreeControl_TreeView1_Data.populateLog = theForm.elements['ctl00_ContentBody_MyTreeControl_TreeView1_PopulateLog'];
ctl00_ContentBody_MyTreeControl_TreeView1_Data.treeViewID = 'ctl00$ContentBody$MyTreeControl$TreeView1';
ctl00_ContentBody_MyTreeControl_TreeView1_Data.name = 'ctl00_ContentBody_MyTreeControl_TreeView1_Data';
// -->
</script>


I want my function AutoScrollSelectedNode() to get the selected node. I've tried with "TreeView1_Data.selectedNodeID.value", but it always complains that 'TreeView1_Data' is undefined.
I've also tried with:
MyTreeControl_TreeView1_Data.selectedNodeID.value;
ctl00_ContentBody_MyTreeControl_TreeView1_Data.selectedNodeID.value;

I'm using IE6, .NET 2.0. What must I write to get the selected node?