Chris Tallos
Top achievements
Rank 1
Chris Tallos
asked on 21 Sep 2009, 03:50 PM
I am using a RadGrid with an EditForm of Type WebUserControl. My User Control contains a form which has three dropdowns (Country, StateRegion, City). When a user selects Country then I query and return a list of StateRegion which would then be bound to a RadComboBox for StateRegion. Then when the user selects StateRegion I would query and return a list of City which would then be bound to a RadComboBox for cities. Please help me understand how to do this as it appears as though the SelectedIndexChanged and/or TextChanged methods are not being called in my user control, only the Page events are getting called.
5 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 22 Sep 2009, 05:09 AM
Hi Chris Tallos,
Go through the following online demo which demonstrates on how comboboxes on a page can interact with each other using client-side methods and requesting the items on demand. I'm sure this is close to what you are looking for:
Related ComboBoxes
Thanks
Princy.
Go through the following online demo which demonstrates on how comboboxes on a page can interact with each other using client-side methods and requesting the items on demand. I'm sure this is close to what you are looking for:
Related ComboBoxes
Thanks
Princy.
0
Chris Tallos
Top achievements
Rank 1
answered on 22 Sep 2009, 02:11 PM
Princy,
Thank you for the example. I was able to put this in a seperate project from my own and it ran perfectly. However, when I implemented this inside my user control which is the Editform for my RadGrid it fails with "Microsoft JScript runtime error: 'LoadStates' is undefined". Here is my code for the UserControl. The codebehind is not far off from what you have shown me. The trick is this control is an editform for a radgrid. I think it has something to do with containers.
Thank you for the example. I was able to put this in a seperate project from my own and it ran perfectly. However, when I implemented this inside my user control which is the Editform for my RadGrid it fails with "Microsoft JScript runtime error: 'LoadStates' is undefined". Here is my code for the UserControl. The codebehind is not far off from what you have shown me. The trick is this control is an editform for a radgrid. I think it has something to do with containers.
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> | |
| <%@ Control Language="C#" AutoEventWireup="true" CodeFile="ModalAddUpdate.ascx.cs" | |
| Inherits="Admin_Controls_ModalAddUpdate" %> | |
| <script type="text/javascript"> | |
| //global variables for the countries and cities comboboxes | |
| var countryCombo; | |
| var stateCombo; | |
| var citiesCombo; | |
| function pageLoad() { | |
| debugger; | |
| // initialize the global variables | |
| // in this event all client objects | |
| // are already created and initialized | |
| countryCombo = $find("<%= rcbValidateCountry.ClientID %>"); | |
| stateCombo = $find("<%= rcbStateRegion.ClientID %>"); | |
| citiesCombo = $find("<%= rcbCity.ClientID %>"); | |
| } | |
| function LoadStates(combo, eventArqs) { | |
| debugger; | |
| var item = eventArqs.get_item(); | |
| stateCombo.set_text("Loading..."); | |
| citiesCombo.clearSelection(); | |
| // if a continent is selected | |
| if (item.get_index() > 0) { | |
| // this will fire the ItemsRequested event of the | |
| // states combobox passing the countryId as a parameter | |
| stateCombo.requestItems(item.get_value(), false); | |
| } | |
| else { | |
| // the -Select a continent- item was chosen | |
| stateCombo.set_text(" "); | |
| stateCombo.clearItems(); | |
| citiesCombo.set_text(" "); | |
| citiesCombo.clearItems(); | |
| } | |
| } | |
| function LoadCities(combo, eventArqs) { | |
| debugger; | |
| var item = eventArqs.get_item(); | |
| var val = countryCombo.get_value(); | |
| citiesCombo.set_text("Loading..."); | |
| // this will fire the ItemsRequested event of the | |
| // cities combobox passing the stateId as a parameter | |
| citiesCombo.requestItems(item.get_value(), false); | |
| } | |
| function ItemsLoaded(combo, eventArqs) { | |
| if (combo.get_items().get_count() > 0) { | |
| // pre-select the first item | |
| combo.set_text(combo.get_items().getItem(0).get_text()); | |
| combo.get_items().getItem(0).highlight(); | |
| } | |
| //combo.showDropDown(); | |
| } | |
| </script> | |
| <table> | |
| <tr style="height: 25px"> | |
| <td style="width: 250px;"> | |
| <asp:Label ID="lblAddressLineOne" runat="server" Text="Address Line One:"></asp:Label> | |
| </td> | |
| <td width="5px"> | |
| | |
| </td> | |
| <td align="left"> | |
| <asp:TextBox ID="txtAdressLineOne" runat="server" Width="300px"></asp:TextBox><asp:RequiredFieldValidator | |
| ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator" | |
| ControlToValidate="txtAdressLineOne">*</asp:RequiredFieldValidator> | |
| </td> | |
| </tr> | |
| <tr style="height: 25px"> | |
| <td style="width: 250px;"> | |
| <asp:Label ID="lblAddressLineTwo" runat="server" Text="Address Line Two:"></asp:Label> | |
| </td> | |
| <td width="5px"> | |
| | |
| </td> | |
| <td align="left"> | |
| <asp:TextBox ID="txtAddressLineTwo" runat="server" Width="300px"></asp:TextBox> | |
| </td> | |
| </tr> | |
| <tr style="height: 25px"> | |
| <td style="width: 250px;"> | |
| <asp:Label ID="lblValidateCountry" runat="server" Text="Country:"></asp:Label> | |
| </td> | |
| <td width="5px"> | |
| | |
| </td> | |
| <td align="left"> | |
| <telerik:RadComboBox ID="rcbValidateCountry" runat="server" DataTextField="ValidateCountryCommonName" | |
| DataValueField="ValidateCountryId" OnClientSelectedIndexChanging="LoadStates" | |
| OnItemsRequested="rcbValidateCountry_ItemsRequested"> | |
| </telerik:RadComboBox> | |
| <asp:RequiredFieldValidator ControlToValidate="rcbValidateCountry" ID="RequiredFieldValidator4" | |
| runat="server" ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator> | |
| </td> | |
| </tr> | |
| <tr style="height: 25px"> | |
| <td style="width: 250px;"> | |
| <asp:Label ID="lblValidateStateRegion" runat="server" Text="State/Region:"></asp:Label> | |
| </td> | |
| <td width="5px"> | |
| | |
| </td> | |
| <td align="left"> | |
| <telerik:RadComboBox ID="rcbStateRegion" runat="server" Width="205px" DataTextField="ValidateProvinceStateRegionName" | |
| DataValueField="ValidateProvinceStateRegionId" OnClientSelectedIndexChanging="LoadCities" | |
| OnClientItemsRequested="ItemsLoaded" OnItemsRequested="rcbStateRegion_ItemsRequested"> | |
| </telerik:RadComboBox> | |
| <asp:RequiredFieldValidator ControlToValidate="rcbStateRegion" ID="RequiredFieldValidator2" | |
| runat="server" ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator> | |
| </td> | |
| </tr> | |
| <tr style="height: 25px"> | |
| <td style="width: 250px;"> | |
| <asp:Label ID="lblCity" runat="server" Text="City:"></asp:Label> | |
| </td> | |
| <td width="5px"> | |
| | |
| </td> | |
| <td align="left"> | |
| <telerik:RadComboBox ID="rcbCity" runat="server" Width="205px" DataTextField="ValidateWorldCityFormalName" | |
| DataValueField="ValidateWorldCityId" OnClientItemsRequested="ItemsLoaded" OnItemsRequested="rcbCity_ItemsRequested"> | |
| </telerik:RadComboBox> | |
| <asp:RequiredFieldValidator ControlToValidate="rcbCity" ID="RequiredFieldValidator3" | |
| runat="server" ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator> | |
| </td> | |
| </tr> | |
| <tr style="height: 25px"> | |
| <td style="width: 250px;"> | |
| <asp:Label ID="lblZipPostal" runat="server" Text="Zip/Postal Code:"></asp:Label> | |
| </td> | |
| <td width="5px"> | |
| | |
| </td> | |
| <td align="left"> | |
| <telerik:RadMaskedTextBox ID="RadMaskedTextBox1" runat="server" Mask="#####-####" | |
| TextWithLiterals="-" Width="125px"> | |
| </telerik:RadMaskedTextBox> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td colspan="3" style="text-align: right;"> | |
| <asp:Button ID="cmdSave" runat="server" Text="Save" /> | |
| <asp:Button ID="cmdCancel" runat="server" CausesValidation="false" Text="Cancel" /> | |
| </td> | |
| </tr> | |
| </table> |
0
Shaishav Karnani
Top achievements
Rank 1
answered on 02 Apr 2010, 01:36 PM
Hi,
I am also facing similar issue when using it in a Edit Mode of RadGrid. Edit Mode calls User Control.
Please advice.
Cheers,
Shaishav
I am also facing similar issue when using it in a Edit Mode of RadGrid. Edit Mode calls User Control.
Please advice.
Cheers,
Shaishav
0
Kiran
Top achievements
Rank 1
answered on 19 Aug 2010, 01:10 PM
I am facing this issue too... any soln you found for this?
0