I'm trying to do a database lookup based on what the user selects from the radcombobox. The SelectedIndexChanged event isn't firing. Well, actually, it does fire but I'm not seeing the result of the postback (textbox.text = result) until I change a different field on the form (RadTextBox field). When I change the value of that field the TextChanged event runs and does what it's supposed to and I can then see the result of the SelectedIndexChange event from the combobox.
MARKUP
I omitted some of the fields on the input form for simplicity and changed some of the SQL. I may have some unmatching divs and stuff like that but you can ignore it.
Any help would be greatly appreciated.
Thanks.
MARKUP
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="reg.aspx.vb" Inherits="TelerikWebForm" MasterPageFile="~/masterpage.master" maintainScrollPositionOnPostback = "true" %>
<
asp:Content
id
=
"content1"
ContentPlaceHolderID
=
"cph_content"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<%--Needed for JavaScript IntelliSense in VS2010--%>
<%--For VS2008 replace RadScriptManager with ScriptManager--%>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
telerik:RadSkinManager
ID
=
"RadSkinManager1"
Runat
=
"server"
Skin
=
"Web20"
>
</
telerik:RadSkinManager
>
<
div
id
=
"main"
>
<
div
id
=
"content"
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1"
runat
=
"server"
Width
=
"680px"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
>
<!--COMPANY / ISSUE-->
<
telerik:RadComboBox
ID
=
"RadComboBox1"
Label
=
"Name of Stock: "
runat
=
"server"
Width
=
"300px"
LabelWidth
=
"133px"
Height
=
"150px"
EmptyMessage
=
"Enter Name of Company whose stock you own"
DataSourceID
=
"sqldatasource1"
DataTextField
=
"coname"
DataValueField
=
"issuenum"
EnableAutomaticLoadOnDemand
=
"True"
ShowMoreResultsBox
=
"true"
EnableVirtualScrolling
=
"True"
OnSelectedIndexChanged
=
"RadComboBox1_SelectedIndexChanged"
AllowCustomText
=
"false"
LoadingMessage
=
"Searching..."
MinFilterLength
=
"0"
AutoPostBack
=
"true"
>
</
telerik:RadComboBox
>
<
asp:Label
ID
=
"lblConameLookup"
runat
=
"server"
Text
=
" "
Width
=
"275"
CssClass
=
"label1"
Visible
=
"true"
></
asp:Label
>
<
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator9"
runat
=
"server"
ErrorMessage
=
"Name of Stock is required."
ControlToValidate
=
"RadComboBox1"
CssClass
=
"label1error"
></
asp:RequiredFieldValidator
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString
=
"..."
></
asp:SqlDataSource
>
<
br
/>
<!--USERNAME-->
<
telerik:RadTextBox
ID
=
"txtUsername"
runat
=
"server"
Label
=
"Username:"
EmptyMessage
=
"30 character max"
MaxLength
=
"30"
LabelWidth
=
"130"
Width
=
"300"
OnTextChanged
=
"txtUsername_TextChanged"
AutoPostBack
=
"true"
>
</
telerik:RadTextBox
>
<
img
alt
=
"Info"
src
=
"/images/icon_info.png"
title
=
"Username Rules: 8 - 30 characters in length; can only contain the following: A-Z, a-z, 0-9, ! @ . _ - "
class
=
"infoicon"
/>
<
asp:Label
ID
=
"lblUsernameValidatorMsg"
runat
=
"server"
Text
=
" "
CssClass
=
"label1error"
Visible
=
"false"
></
asp:Label
>
<
asp:TextBox
ID
=
"txtUsernameValidatorStatus"
visible
=
"false"
Text
=
"Invalid"
runat
=
"server"
></
asp:TextBox
>
</
telerik:RadAjaxPanel
>
<!--BUTTONS-->
<
telerik:RadButton
ID
=
"RadButton1"
runat
=
"server"
Text
=
"Submit"
CausesValidation
=
"true"
>
</
telerik:RadButton
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
>
</
telerik:RadAjaxLoadingPanel
>
</
div
></
div
>
<
telerik:RadToolTipManager
ID
=
"RadToolTipManager1"
runat
=
"server"
RelativeTo
=
"Element"
Position
=
"MiddleRight"
AutoTooltipify
=
"true"
ContentScrolling
=
"Default"
Width
=
"225"
Height
=
"10"
AutoCloseDelay
=
"10000"
>
</
telerik:RadToolTipManager
>
</
asp:Content
>
Protected Sub RadComboBox1_SelectedIndexChanged(sender As Object, e As Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs) Handles RadComboBox1.SelectedIndexChanged
Dim strConn As String = System.Configuration.ConfigurationManager.ConnectionStrings("CONN").ConnectionString
Dim MySQL As String = "SELECT ticker FROM [table] WHERE [issuenum] = @issuenum"
Dim MyConn As New Data.SqlClient.SqlConnection(strConn)
Dim Cmd As New Data.SqlClient.SqlCommand(MySQL, MyConn)
Dim DR As SqlDataReader
With Cmd.Parameters
.Add(New SqlClient.SqlParameter("@issuenum", UCase(Trim(RadComboBox1.SelectedValue))))
End With
lblConameLookup.Visible = True
Try
MyConn.Open()
DR = Cmd.ExecuteReader()
DR.Read()
lblConameLookup.CssClass = "label1"
lblConameLookup.Text = DR("ticker")
Catch ex As Exception
lblConameLookup.CssClass = "label1error"
lblConameLookup.Text = "Please select a company from the dropdown menu."
End Try
MyConn.Close()
End Sub
'VALIDATION FOR USERNAME FIELD
Protected Sub txtUsername_TextChanged(sender As Object, e As System.EventArgs) Handles txtUsername.TextChanged
'CHECK DATABASE
Dim strConn As String = System.Configuration.ConfigurationManager.ConnectionStrings("CONN").ConnectionString
Dim MySQL As String = "SELECT X1,X2 FROM Ytable WHERE [field] = @param"
Dim MyConn As New Data.SqlClient.SqlConnection(strConn)
Dim Cmd As New Data.SqlClient.SqlCommand(MySQL, MyConn)
Dim DR As SqlDataReader
With Cmd.Parameters
.Add(New SqlClient.SqlParameter("@param", Trim(txtUsername.Text)))
End With
Try
MyConn.Open()
DR = Cmd.ExecuteReader()
DR.Read()
lblUsernameValidatorMsg.Visible = True
If DR.HasRows = True Then
lblUsernameValidatorMsg.Text = "This username is unavailable."
txtUsername.Focus()
End If
Catch ex As Exception
'lblUserNameStatus.Text = ex.Message
End Try
MyConn.Close()
End Sub
I omitted some of the fields on the input form for simplicity and changed some of the SQL. I may have some unmatching divs and stuff like that but you can ignore it.
Any help would be greatly appreciated.
Thanks.