I am trying to update My City combobox when someone selects a state. Will someone please look at my code and tell me why both my city and state comboboxes are blank?
I was following this tutorial: http://demos.telerik.com/aspnet-ajax/combobox/examples/functionality/multiplecomboboxes/defaultvb.aspx
Thanks!
I was following this tutorial: http://demos.telerik.com/aspnet-ajax/combobox/examples/functionality/multiplecomboboxes/defaultvb.aspx
Thanks!
Imports SystemImports System.DataImports System.Data.SqlClientImports System.ConfigurationImports Telerik.Web.UIPartial Class _default Inherits System.Web.UI.Page Private Const MessageTemplate As String = "You chose to explore the city of {1} in {0}" Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Not Page.IsPostBack Then ' Fill the continents combo. LoadStates() ElseIf Not Page.IsCallback Then ' On regular postbacks restore the items of the related ComboBoxes. ' Their selected items will be automatically restored from their ClientState. LoadStates() LoadCities(cbxStates.SelectedValue) End If End Sub Protected Sub LoadStates() Dim connection As New SqlConnection(ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString) Dim adapter As New SqlDataAdapter("SELECT * FROM States ORDER By StateName", connection) Dim dt As New DataTable() adapter.Fill(dt) cbxStates.DataTextField = "StateName" cbxStates.DataValueField = "StateID" cbxStates.DataSource = dt cbxStates.DataBind() ' Insert the first item. cbxStates.Items.Insert(0, New RadComboBoxItem("- Select a State -")) End Sub Protected Sub LoadCities(ByVal StateID As String) Dim connection As New SqlConnection(ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString) ' Select a country based on the continentID. Dim adapter As New SqlDataAdapter("SELECT * FROM Cities WHERE StateID=@StateID ORDER By Name", connection) adapter.SelectCommand.Parameters.AddWithValue("@StateID", StateID) Dim dt As New DataTable() adapter.Fill(dt) cbxCities.DataTextField = "CityName" cbxCities.DataValueField = "CityID" cbxCities.DataSource = dt cbxCities.DataBind() End Sub Protected Sub cbxStates_ItemsRequested(ByVal o As Object, ByVal e As RadComboBoxItemsRequestedEventArgs) Handles cbxStates.ItemsRequested LoadStates() End Sub Protected Sub cbxCities_ItemsRequested(ByVal o As Object, ByVal e As RadComboBoxItemsRequestedEventArgs) Handles cbxCities.ItemsRequested ' e.Text is the first parameter of the requestItems method ' invoked in LoadCountries method LoadCities(e.Text) End Sub Protected Sub Button1_Click(sender As Object, e As EventArgs) Literal1.Text = String.Empty If RadComboBox1.SelectedIndex > 0 Then Literal1.Text = String.Format(MessageTemplate, cbxStates.Text, cbxCities.Text) End If End SubEnd Class<%@ Page Title="" Language="VB" MasterPageFile="~/sitemasterpage.master" AutoEventWireup="false" CodeFile="default.aspx.vb" Inherits="_default" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <div id="main-content-container"> <div id="home-container"> <div id="home-search-text"> <h2>Join for free and start searching...</h2> <p>Once you sign up, you're free to search our members and start finding your perfect match.</p> <div id="home-search-content"> <table cellpadding="2" class="home-search-table"> <tr> <td> I'm a </td> <td> <telerik:RadComboBox ID="RadComboBox1" Runat="server" > <Items> <telerik:RadComboBoxItem runat="server" Selected="True" Text="Man" Value="Man" /> <telerik:RadComboBoxItem runat="server" Text="Woman" Value="Woman" /> </Items> </telerik:RadComboBox> </td> </tr> <tr> <td>Looking for a</td> <td> <telerik:RadComboBox ID="RadComboBox2" Runat="server" > <Items> <telerik:RadComboBoxItem runat="server" Text="Man" Value="Man" /> <telerik:RadComboBoxItem runat="server" Selected="True" Text="Woman" Value="Woman" /> </Items> </telerik:RadComboBox> </td> </tr> <tr> <td>Select your State</td> <td> <telerik:RadComboBox ID="cbxStates" runat="server" CssClass="ComboBox_Continents" OnClientSelectedIndexChanging="LoadStates" OnItemsRequested="cbxStates_ItemsRequested" /> </td> </tr> <tr> <td>Select your City</td> <td> <telerik:RadComboBox ID="cbxCities" runat="server" CssClass="ComboBox_Continents" OnClientSelectedIndexChanging="LoadCities" OnItemsRequested="cbxCities_ItemsRequested" /> </td> </tr> <tr> <td> </td> <td> <asp:Button ID="Button1" runat="server" Text="Explore" OnClick="Button1_Click" /> <asp:Literal runat="server" ID="Literal1"></asp:Literal> </td> </tr> </table> </div> </div> </div> </div> <script type="text/javascript"> //global variables for the countries and cities comboboxes var StatesCombo; var citiesCombo; function pageLoad() { // initialize the global variables // in this event all client objects // are already created and initialized statesCombo = $find("<%= cbxStates.ClientID%>"); citiesCombo = $find("<%= cbxCities.ClientID%>"); } function LoadStates(sender, eventArgs) { var item = eventArgs.get_item(); statesCombo.set_text("Loading..."); citiesCombo.clearSelection(); // if a continent is selected if (item.get_index() > 0) { // this will fire the ItemsRequested event of the // countries combobox passing the continentID as a parameter statesCombo.requestItems(item.get_value(), false); } else { // the -Select a continent- item was chosen statesCombo.set_text(" "); statesCombo.clearItems(); citiesCombo.set_text(" "); citiesCombo.clearItems(); } } function LoadCities(sender, eventArgs) { var item = eventArgs.get_item(); citiesCombo.set_text("Loading..."); // this will fire the ItemsRequested event of the // cities combobox passing the countryID as a parameter citiesCombo.requestItems(item.get_value(), false); } function ItemsLoaded(sender, eventArgs) { if (sender.get_items().get_count() > 0) { // pre-select the first item sender.set_text(sender.get_items().getItem(0).get_text()); sender.get_items().getItem(0).highlight(); } sender.showDropDown(); } </script></asp:Content>