I am having an issue trying to get the RadComboBox's Selected Value on the SelectedIndexChanged event. The odd thing is that during the SelectedIndexChanged event when I check e it has the old value (e.OldValue) and the old text (e.OldText) but the e text (e.Text) shows up correctly but the e.Value turns to null or "". Why is my selected value turning to an empty string/null on SelectedIndexChange?
See my code below. Thanks for any help.
See my code below. Thanks for any help.
| <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SCRDropDown.ascx.cs" Inherits="AMC.OnlineSCR.Web.UserControls.SCRDropDown" %> |
| <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> |
| <link href="../stylesheets/tkComboBox.css" rel="stylesheet" type="text/css" /> |
| <!-- content start --> |
| <asp:Label runat="server" |
| ID="lblSelectASCR" |
| AssociatedControlID="cbSelectASCR" |
| Text="Select A SCR:" /> |
| <telerik:RadComboBox |
| runat="server" |
| AutoPostBack="true" |
| ID="cbSelectASCR" |
| DataTextField="SCR_NUMBER" |
| EnableLoadOnDemand="True" |
| Width="670px" |
| Height="190px" |
| HighlightTemplatedItems="true" |
| OnDataBound="cbSelectASCR_DataBound" |
| OnItemDataBound="cbSelectASCR_ItemDataBound" |
| OnSelectedIndexChanged="cbSelectASCR_SelectedIndexChanged" |
| OnItemsRequested="cbSelectASCR_ItemsRequested"> |
| <HeaderTemplate> |
| <ul> |
| <li class="col1">SCR Number</li> |
| <li class="titleCol">Title</li> |
| <li class="col3">Status</li> |
| <li class="col1">Date Submitted</li> |
| </ul> |
| </HeaderTemplate> |
| <ItemTemplate> |
| <ul> |
| <li class="col1"> |
| <%# DataBinder.Eval(Container.DataItem, "SCR_NUMBER") %></li> |
| <li class="titleCol"> |
| <%# DataBinder.Eval(Container.DataItem, "TITLE") %></li> |
| <li class="col3"> |
| <%# DataBinder.Eval(Container.DataItem, "STATUS_NAME") %></li> |
| <li class="col1"> |
| <%# DataBinder.Eval(Container.DataItem, "DATE_OF_SUBMITTAL", "{0:dd MMM yyyy}") %></li> |
| </ul> |
| </ItemTemplate> |
| <FooterTemplate> |
| A total of |
| <asp:Literal runat="server" ID="cbSelectASCRCount" /> |
| items |
| </FooterTemplate> |
| </telerik:RadComboBox> |
| using System; |
| using System.Collections.Generic; |
| using System.Linq; |
| using System.Web; |
| using System.Web.UI; |
| using System.Web.UI.WebControls; |
| using Telerik.Web.UI; |
| using System.Data; |
| using System.IO; |
| using AMC.OnlineSCR.BusinessLayer.BusinessObjects; |
| using AMC.OnlineSCR.BusinessLayer.Facade; |
| using AMC.OnlineSCR.Web.Components; |
| namespace AMC.OnlineSCR.Web.UserControls |
| { |
| public partial class SCRDropDown : System.Web.UI.UserControl |
| { |
| private ISCRMainDataFacade SCRMainFacade = new SCRMainDataFacade(); |
| int m_SCRID; |
| public int SCRID |
| { |
| get { return m_SCRID; } |
| set { m_SCRID = value; } |
| } |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| DataSet ds = SCRMainFacade.GetMiniSCRAll(); |
| cbSelectASCR.DataSource = ds; |
| cbSelectASCR.DataBind(); |
| } |
| protected void cbSelectASCR_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e) |
| { |
| SCRID = Convert.ToInt16(e.Value.ToString()); |
| //SCRID = ((DataRowView)e.Item.DataItem)["SCR_NUMBER"].ToString(); |
| } |
| protected void cbSelectASCR_DataBound(object sender, EventArgs e) |
| { |
| //set the initial footer label |
| ((Literal)cbSelectASCR.Footer.FindControl("cbSelectASCRCount")).Text = Convert.ToString(cbSelectASCR.Items.Count); |
| } |
| protected void cbSelectASCR_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e) |
| { |
| //get all customers whose name starts with e.Text |
| DataSet ds = SCRMainFacade.GetMiniSCRAllLike(e.Text); |
| cbSelectASCR.DataSource = ds; |
| cbSelectASCR.DataBind(); |
| } |
| protected void cbSelectASCR_ItemDataBound(object sender, RadComboBoxItemEventArgs e) |
| { |
| //set the Text and Value property of every item |
| //here you can set any other properties like Enabled, ToolTip, Visible, etc. |
| e.Item.Text = (((DataRowView)e.Item.DataItem)["SCR_NUMBER"].ToString()) + " - " + (((DataRowView)e.Item.DataItem)["TITLE"].ToString()); |
| e.Item.Value = ((DataRowView)e.Item.DataItem)["SCR_ID"].ToString(); |
| } |
| } |
| } |