Dear Telerik Team,
Please my problem is how I can set the (SelectedNode.Value) from Client side so it will show the node text in the ComboBox text property.
In code behind I'm retrieving the data from the database and move it to the corresponding controls on the page and everything fine except the ComboBox. It may need passing a value to JavaScript function from code behind which will do the rest of the job. I added a JavaScript function to accomplish that (FindNode) and I added an input field to use it for passing the value (ID=SelectedValue) but it's not working with me or May I did not write it the correct way.
I hope I get your response soon.
Thank you
My User Control ASPX File Code:
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="MenuOptionsTree.ascx.vb" Inherits="TerelikCompoTree.MenuOptionsTree" %>
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>
<body bottommargin="0" topmargin="0" leftmargin="0" rightmargin="0" dir=rtl>
<script type="text/javascript">
function comboLoad(sender, eventArgs)
{
sender.set_text(sender.get_items().getItem(0).get_value());
}
function nodeClicking(sender, args)
{
var comboBox = $find("<%= RadComboBox1.ClientID %>");
var node = args.get_node()
document.getElementById('<%=NodeValue.ClientID%>').value = node.get_value();
comboBox.set_text(node.get_text());
comboBox.trackChanges();
comboBox.get_items().getItem(0).set_value(node.get_text());
comboBox.commitChanges();
comboBox.hideDropDown();
}
function FindNode()
{
var comboBox = $find("<%= RadComboBox1.ClientID %>");
var treevw = comboBox.get_items().getItem(0).findControl("RadTreeView1");
var node = treevw.findNodeByValue(SelectedValue.value);
node.select()
comboBox.set_text(node.get_text());
comboBox.trackChanges();
comboBox.get_items().getItem(0).set_value(node.get_text());
comboBox.commitChanges();
}
function StopPropagation(e) {
if(!e)
{
e = window.event;
}
e.cancelBubble = true;
}
function OnClientDropDownOpenedHandler(sender, eventArgs)
{
var tree = sender.get_items().getItem(0).findControl("RadTreeView1");
var selectedNode = tree.get_selectedNode();
if (selectedNode)
{
selectedNode.scrollIntoView();
}
}
</script>
<telerik:RadComboBox ID="RadComboBox1"
Runat="server"
Height="200px"
Skin="Sunset"
Width="348px">
<ItemTemplate>
<div ID="TreeDiv" onclick="StopPropagation(event)" dir=rtl>
<telerik:RadTreeView
ID="RadTreeView1"
Runat="server"
Height="350px"
Width="100%"
OnClientNodeClicking="nodeClicking"
Skin="Sunset">
<CollapseAnimation Duration="100" Type="OutQuint" />
<ExpandAnimation Duration="100" />
</telerik:RadTreeView>
</div>
</ItemTemplate>
<Items>
<telerik:RadComboBoxItem Text="" />
</Items>
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</telerik:RadComboBox>
<input id="NodeValue" value="0" runat="server" enableviewstate="true" type="hidden" />
<input id="SelectedValue" value="124" runat="server" enableviewstate="true" type="hidden" />
</body>
Thank you