locked
how to select the item in radcombobox based on item value ? RRS feed

  • Question

  • User-1361158234 posted

    Hi,

    I am using radcombobox in my project, bind the combo box using page methods see this link.(last method) Working fine to display the items based on loadondemond, but after save the data when i am trying to edit  i am assigning to radcombobox based on item value , but it is not working properly, because radcombobox items are not loaded .

     my code is
    i am trying bellow two ways

    1) RadComboBox4.SelectedValue = dr["AgentID"].ToString();

    2) RadComboBox4.FindItemByValue(dr["AgentID"].ToString()).Selected = true; 

    the second method  showing the error , selecteditem and selectedindex always shows null and -1. 

    please can any one help me to come out this problem .

    Thanks,
    hemanth

    Wednesday, January 2, 2013 7:32 AM

All replies

  • User-1716253493 posted

    What i know findbyvalue/findbytext is case sensitive, so make sure about the case

            if (RadComboBox4.FindItemByValue(dr["AgentID"].ToString()) != null)
            {
                RadComboBox4.FindItemByValue(dr["AgentID"].ToString()).Selected = true;
            }



    Wednesday, January 2, 2013 8:21 AM
  • User-1361158234 posted

    Hi oned , thanks for reply 

    I checked that code but same problem, i think there is no items in Radcombobox4 assigning time, but code is correct AgentId matching value is  there in radcombobox but it always shows null.

    Wednesday, January 2, 2013 8:55 AM
  • User-1716253493 posted

    make sure you rcb already bound before make selection

    if (!ispostback)
    {
      RadComboBox4.DataBind()
    }
    //make selection here



    Wednesday, January 2, 2013 9:04 AM
  • User-1361158234 posted

    there is no binding in radcombobox , my code is

    default.aspx.cs page

    --------------------------

     [WebMethod]
            public static RadComboBoxData GetCompanyNames(RadComboBoxContext context)
            {
                DataTable data = GetData(context.Text);
    
                RadComboBoxData comboData = new RadComboBoxData();
                int itemOffset = context.NumberOfItems;
                int endOffset = Math.Min(itemOffset + ItemsPerRequest, data.Rows.Count);
                comboData.EndOfItems = endOffset == data.Rows.Count;
    
                List<RadComboBoxItemData> result = new List<RadComboBoxItemData>(endOffset - itemOffset);
    
                for (int i = itemOffset; i < endOffset; i++)
                {
                    RadComboBoxItemData itemData = new RadComboBoxItemData();
                    itemData.Text = data.Rows[i]["Name"].ToString();
                    itemData.Value = data.Rows[i]["ID"].ToString();
    
                    result.Add(itemData);
                }
    
                comboData.Message = GetStatusMessage(endOffset, data.Rows.Count);
    
                comboData.Items = result.ToArray();
                return comboData;
            }

    default.aspx

    ------------------

     <telerik:RadComboBox ID="RadComboBox4" runat="server" Width="250px" Height="150px"
                                                                EmptyMessage="Select a Company" EnableLoadOnDemand="true" ShowMoreResultsBox="true"
                                                                EnableVirtualScrolling="true" Label="Page Methods:" AutoPostBack="true" OnSelectedIndexChanged="RadComboBox4_SelectedIndexChanged">
                                                                <WebServiceSettings Method="GetCompanyNames" Path="ClientInfo.aspx" />
                                                            </telerik:RadComboBox>



    RadComboBox4_SelectedIndexChanged event 
    if (RadComboBox4.SelectedValue != "")
                    {
                        AgentId = Convert.ToInt32(RadComboBox4.SelectedValue);
                        hideddlAgent.Text = RadComboBox4.SelectedValue;
                    }
    -->SelectedValue and text only display the data remaining selectedindex and selecteditem all are no values .


    Wednesday, January 2, 2013 9:35 AM
  • User1525433465 posted

    Hi,

    By design when a RadComboBox with enabled Load-On-Demand feature is loaded - it is empty and it has no items. Load-On-Demand fires and populates the control with data if the user types in the input area or clicks on the drop-down toggle image when there are no items in the RadComboBox.

    Additionally the RadComboBox items are not accessible on the server-side when loading them on demand and that is why they cannot be accessed using the server-side FindItemByText / Value methods - please take a look at this help article.

    Thanks,

    Shinu.

    Thursday, January 3, 2013 7:02 AM
  • User-1716253493 posted

    try set AutoPostBack="false"

    Thursday, January 3, 2013 8:15 AM