hi all,
i have a grid, which the EditFormType is set to WebUserControl. On edit i need a combobox that contains a treeview, so i followed this example http://demos.telerik.com/aspnet-ajax/treeview/examples/functionality/treeviewcombobox/defaultcs.aspx?product=treeview
the problem is that when i select a node from the combobox it doesn't respond at the first time, i need to re-select a node again
here is my code
wht would be causing it??
any hint is really appreciated
i have a grid, which the EditFormType is set to WebUserControl. On edit i need a combobox that contains a treeview, so i followed this example http://demos.telerik.com/aspnet-ajax/treeview/examples/functionality/treeviewcombobox/defaultcs.aspx?product=treeview
the problem is that when i select a node from the combobox it doesn't respond at the first time, i need to re-select a node again
here is my code
| <%@ Control Language="vb" AutoEventWireup="false" CodeBehind="Edit.ascx.vb" Inherits="UCMS.LinksEdit" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> |
| <script type="text/javascript"> |
| function OpenFileExplorerDialog() |
| { |
| var wnd = $find("<%= ExplorerWindow.ClientID %>"); |
| wnd.show(); |
| } |
| //This function is called from the Explorer.aspx page |
| function OnFileSelected(wnd, fileSelected) |
| { |
| var textbox = $get("<%= fileName.ClientID %>"); |
| textbox.value = fileSelected; |
| } |
| function nodeClicking(sender, args) |
| { |
| var comboBox = $find("<%= RadComboBox1.ClientID %>"); |
| var node = args.get_node() |
| comboBox.set_text(node.get_text()); |
| comboBox.trackChanges(); |
| comboBox.get_items().getItem(0).set_value(node.get_text()); |
| comboBox.commitChanges(); |
| comboBox.hideDropDown(); |
| } |
| 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:RadScriptBlock> |
| <telerik:RadWindow runat="server" Width="550px" Height="560px" VisibleStatusbar="false" |
| NavigateUrl="/Components/Links/Explorer.aspx" ID="ExplorerWindow" Modal="true" Behaviors="Close,Move"> |
| </telerik:RadWindow> |
| <telerik:RadFormDecorator ID="FormDecorator1" runat="server" DecoratedControls="all" Skin="Default"></telerik:RadFormDecorator> |
| <br /> |
| <table cellpadding="3" cellspacing="0" border="0" width="100%"> |
| <tr> |
| <td width="12%">Title:</td> |
| <td width="88%"> |
| <telerik:RadTextBox ID="txtTitle" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.title") %>'></telerik:RadTextBox> |
| <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txtTitle" ErrorMessage="*" runat="server" Display="Dynamic"></asp:RequiredFieldValidator> |
| <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="This title is already used" ControlToValidate="txtTitle" Display="Dynamic" OnServerValidate="checkTitle"></asp:CustomValidator> |
| </td> |
| </tr> |
| <tr> |
| <td>Link to:</td> |
| <td> |
| <telerik:RadComboBox ID="RadComboBox2" runat="server" MarkFirstMatch="true" AutoPostBack="true"> |
| <Items> |
| <telerik:RadComboBoxItem Text="Select type" Value="0" /> |
| <telerik:RadComboBoxItem Text="Page on the website" Value="1" /> |
| <telerik:RadComboBoxItem Text="File on the website" Value="2" /> |
| <telerik:RadComboBoxItem Text="External URL" Value="3" /> |
| </Items> |
| </telerik:RadComboBox> |
| <asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="RadComboBox2" ErrorMessage="*" runat="server" Display="Dynamic" InitialValue="Select type"></asp:RequiredFieldValidator> |
| </td> |
| </tr> |
| <tr id="trPages" runat="server" visible="true"> |
| <td>Destination:</td> |
| <td> |
| <div> |
| <telerik:RadComboBox ID="RadComboBox1" runat="server" Height="140px" Width="215px" |
| ShowToggleImage="True" Style="vertical-align: middle;" OnClientDropDownOpened="OnClientDropDownOpenedHandler" |
| EmptyMessage="Choose a destination" ExpandAnimation-Type="None" CollapseAnimation-Type="None"> |
| <ItemTemplate> |
| <div id="div1"> |
| <telerik:RadTreeView runat="server" ID="RadTreeView1" OnClientNodeClicking="nodeClicking" Height="138px" Width="212px"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="Africa" Expanded="true"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="Egypt"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="Cairo"> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="South Africa"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="Cape Town"> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="Kenya"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="Nairobi" Value="1999"> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="North America" Expanded="true"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="USA"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="New York"> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="Los Angeles"> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="Boston"> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="Canada"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="Toronto"> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="Ottawa"> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="Vancouver"> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="Mexico"> |
| <Nodes> |
| <telerik:RadTreeNode runat="server" Text="Mexico City"> |
| </telerik:RadTreeNode> |
| <telerik:RadTreeNode runat="server" Text="Cancun"> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeNode> |
| </Nodes> |
| </telerik:RadTreeView> |
| </div> |
| </ItemTemplate> |
| <Items> |
| <telerik:RadComboBoxItem Text="" /> |
| </Items> |
| </telerik:RadComboBox> |
| <script type="text/javascript"> |
| var div1 = document.getElementById("div1"); |
| div1.onclick = StopPropagation; |
| </script> |
| <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator3" ErrorMessage="Choose a destination first" ControlToValidate="RadComboBox1" /> |
| </div> |
| </td> |
| </tr> |
| <tr id="trFiles" runat="server" visible="false"> |
| <td></td> |
| <td> |
| <asp:TextBox ID="fileName" runat="server" Width="350px"></asp:TextBox> |
| <asp:Button ID="selectFile" OnClientClick="OpenFileExplorerDialog(); return false;" Text="Browse" runat="server" /> |
| </td> |
| </tr> |
| <tr id="trURL" runat="server" visible="false"> |
| <td></td> |
| <td> |
| <telerik:RadTextBox ID="txtURL" runat="server" Width="350px" Text="http://"></telerik:RadTextBox> |
| </td> |
| </tr> |
| <tr> |
| <td>Start Date:</td> |
| <td> |
| <telerik:RadDatePicker ID="RadDatePicker1" runat="server" ></telerik:RadDatePicker> |
| <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="RadDatePicker1" ErrorMessage="Date can't be earlier than today" Operator="GreaterThanEqual" Type="Date" ValueToCompare='<%# DateTime.Now.ToShortDateString() %>' Display="Dynamic"></asp:CompareValidator> |
| </td> |
| </tr> |
| <tr> |
| <td>End Date:</td> |
| <td> |
| <telerik:RadDatePicker ID="RadDatePicker2" runat="server"></telerik:RadDatePicker> |
| <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="RadDatePicker2" ErrorMessage="End date can't be earlier than today or earlier than start date" Operator="GreaterThanEqual" Type="Date" ValueToCompare='<%# DateTime.Now.ToShortDateString() %>' ControlToCompare="RadDatePicker1" Display="Dynamic"></asp:CompareValidator> |
| </td> |
| </tr> |
| <tr> |
| <td>Publish:</td> |
| <td> |
| <asp:CheckBox ID="CheckBox1" runat="server" /> |
| </td> |
| </tr> |
| <tr> |
| <td>Category:</td> |
| <td> |
| <telerik:RadComboBox ID="RadComboBox3" runat="server" MarkFirstMatch="true" OnLoad="RadComboBox3_Load" DataTextField="categoryName" DataValueField="categoryID" SelectedValue='<%# DataBinder.Eval(Container, "DataItem.categoryID") %>' AppendDataBoundItems="true"></telerik:RadComboBox> |
| <asp:RequiredFieldValidator ID="RequiredFieldValidator6" ControlToValidate="RadComboBox3" ErrorMessage="*" runat="server" Display="Dynamic" InitialValue="Select category"></asp:RequiredFieldValidator> |
| </td> |
| </tr> |
| <tr> |
| <td align="right" colspan="2"> |
| <asp:ImageButton ID="btnUpdate" runat="server" CommandName="Update" Visible='<%# Not (TypeOf DataItem Is Telerik.Web.UI.GridInsertionObject) %>' ImageUrl="/Themes/images/Update.gif" /> |
| <asp:ImageButton ID="btnInsert" runat="server" CommandName="PerformInsert" Visible='<%# (TypeOf DataItem Is Telerik.Web.UI.GridInsertionObject) %>' ImageUrl="/Themes/images/Update.gif" /> |
| <asp:ImageButton ID="btnCancel" runat="server" CommandName="Cancel" CausesValidation="false" ImageUrl="/Themes/images/Cancel.gif" /> |
| </td> |
| </tr> |
| </table> |
wht would be causing it??
any hint is really appreciated