I'me tring to use the Combobox with Treeview functionality.
The first time I choose an item from the tree everything goes smoothly. But if I open again the combox to select the tree I get an javascript error: Message: 'null' is null or not an object. Thus the issue happens only if I choose a node and after I try to open again the combobox
I've checked the javascript and the error is in the follwoing code:
function OnClientDropDownOpenedHandler(sender, eventArgs) {
var tree = sender.get_items().getItem(0).findControl("rvt1");
var selectedNode = tree.get_selectedNode();
if (selectedNode) {
selectedNode.scrollIntoView();
}
}
The findControl returns a null and when we call the get_selectedNode() we got the exception.
What may be causing this behaviour?
Here is our code:
<script type="text/javascript"> function nodeClicking(sender, args) {
var comboBox = $find("<%= combo1.ClientID %>"); var node = args.get_node() comboBox.set_text(node.get_text()); comboBox.trackChanges(); comboBox.get_items().getItem(0).set_text(node.get_text()); comboBox.get_items().getItem(0).set_value(node.get_value()); comboBox.commitChanges(); comboBox.hideDropDown(); // Call comboBox.attachDropDown if: // 1) The RadComboBox is inside an AJAX panel. // 2) The RadTreeView has a server-side event handler for the NodeClick event, i.e. it initiates a postback when clicking on a Node. // Otherwise the AJAX postback becomes a normal postback regardless of the outer AJAX panel. //comboBox.attachDropDown(); } function StopPropagation(e) { if (!e) { e = window.event; } e.cancelBubble = true; } function OnClientDropDownOpenedHandler(sender, eventArgs) { var tree = sender.get_items().getItem(0).findControl("rvt1"); var selectedNode = tree.get_selectedNode(); if (selectedNode) { selectedNode.scrollIntoView(); } } </script> <telerik:RadComboBox ID="combo1" runat="server" CausesValidation="false" EnableEmbeddedSkins="false" OnClientDropDownOpened="OnClientDropDownOpenedHandler" EmptyMessage="select please" MaxHeight="200px" ShowToggleImage="True" Width="50%" AllowCustomText="True"> <ItemTemplate> <div id="div1"> <telerik:RadTreeView ID="rvt1" runat="server" Width="100%" Height="250px" DataSourceID="ds1" DataFieldID="ID" DataValueField="ID" DataFieldParentID="ParentID" DataTextField="Name" OnClientNodeClicking="nodeClicking" > <DataBindings> <telerik:RadTreeNodeBinding Expanded="true" /> </DataBindings> </telerik:RadTreeView> </div> </ItemTemplate> <Items> <telerik:RadComboBoxItem Text="" /> </Items></telerik:RadComboBox><asp:ObjectDataSource ID="ds2" runat="server" EnablePaging="True" OnSelecting="dds2_Selecting" SelectMethod="GetList" TypeName="BLL"> <SelectParameters> <asp:Parameter Name="p1" Type="Int32" /> <asp:Parameter Name="p2" Type="Int32" /> <asp:Parameter Name="p3" Type="Boolean" DefaultValue="True" /> </SelectParameters></asp:ObjectDataSource>