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(); |
} |
} |
} |