RadCmoboBox.FindItemByValue Problem

2 posts, 0 answers
  1. Ravi Kumar
    Ravi Kumar avatar
    37 posts
    Member since:
    May 2010

    Posted 09 Jul 2010 Link to this post

    Hi,

    I,m using RadComboBox with multi columns like “EmployeeStatus” & “StatusID”  and applying search on both the  columns. Once I have selected an employee status, saving StatusID of that status in the database. Its working fine. But my problem is that if I,m loading that statusID from the database and again binding radcomboBox with this id and doing selected true for that id, its not working.

    CS Code:

     protected void cboMEStatus_OnItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)
            {
               List<bocWFEmployeeStatusCollection> listEmpStatus = objlibWFDALController.GetEmployeeStatus();
                if (listEmpStatus != null)
                {
                    var status = Enumerable.Empty<bocWFEmployeeStatusCollection>();

                    if (utlTypeChecking.IsNumeric(temp))
                    {
                        status = from data in listEmpStatus
                                 where data.Employee_Status_ID.ToString().StartsWith(temp)
                                 select data;

                    }
                    else
                    {
                        status = from data in listEmpStatus
                                 where data.Employee_Status_Value.StartsWith(temp, StringComparison.OrdinalIgnoreCase)
                                 select data;

                    }
                    foreach (var item in status)
                    {
                        RadComboBoxItem radItem = new RadComboBoxItem();
                        radItem.Text = item.Employee_Status_Value;
                        radItem.Value = item.Employee_Status_ID.ToString();

                        radItem.Attributes.Add("Employee_Status_ID", item.Employee_Status_ID.ToString());
                        cboMEStatus.Items.Add(radItem);
                        radItem.DataBind();
                    }

                }
            }

    HTML Code:

     <HeaderTemplate>
                                                                    <table style="width: 200px" cellspacing="0" cellpadding="0">
                                                                        <tr>
                                                                            <td style="width: 100px;">
                                                                                Status Description
                                                                            </td>
                                                                            <td style="width: 80px;">
                                                                                Status ID
                                                                            </td>
                                                                        </tr>
                                                                    </table>
                                                                </HeaderTemplate>
                                                                <ItemTemplate>
                                                                    <table border="0" style="width: 200px" cellspacing="0" cellpadding="0">
                                                                        <tr>
                                                                            <td style="width: 100px;">
                                                                                <%# DataBinder.Eval(Container, "Text")%>
                                                                            </td>
                                                                            <td style="width: 80px;">
                                                                                <%# DataBinder.Eval(Container, "Attributes['Employee_Status_ID']")%>
                                                                            </td>
                                                                        </tr>
                                                                    </table>
                                                                </ItemTemplate>

    ********************************************************

     cboMEStatus.FindItemByValue(statusRef.ToString()).Selected = true;

     where statusRef.ToString() is coming from database.

    How to Show selected text in combobox with this id.

    Please Help

    Regards

    Ravi

  2. Kalina
    Admin
    Kalina avatar
    918 posts

    Posted 14 Jul 2010 Link to this post

    Hello Ravi Kumar,

    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.

    I am not familiar with all details of your implementation but I can suggest you add manually a preselected item at RadComboBox input at PageLoad event, if you can obtain the necessary text and value from your database.
    Then if you want to edit the selected item - you only need to delete the text at RadComboBox input. Load-On-Demand will fire and when you open the RadComboBox dropdown - all items will be listed and you will be able to select another item.

    I hope this helps.

    All the best,
    Kalina
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top