RadComboBox在单击页面的其他部分时更改所选项目

本文关键字:选项 项目 分时 其他部 单击 RadComboBox | 更新日期: 2023-09-27 17:57:33

如果我选择了RadComboBox的任何项目,接下来当我点击页面的其他部分时,RadComboBBox项目就会发生变化。我该如何解决这个问题?

aspx:

<telerik:RadComboBox ID="cmbExpCTC" runat="server" MarkFirstMatch="true">
</telerik:RadComboBox>

C#:

public void FillStatus()
{
    try
    {
        cmbExpCTC.Enabled = true;
        dsLocation = BizRegion.GetCandidateInterviewStatus(hfdcandidateid.Value, hfdjobid.Value, hfdRounds.Value);
        RadComboBoxItem cItem = new RadComboBoxItem("Sourcing in process", "Sourcing");
        cmbExpCTC.Items.Add(cItem);
        if (dsLocation.Tables[0].Rows.Count > 0)
        {
            for (int i = 0; i <= dsLocation.Tables[0].Rows.Count - 1; i++)
            {
                cItem = new RadComboBoxItem(dsLocation.Tables[0].Rows[i]["InterviewFormat"].ToString() + " - " + "Round" + " " + dsLocation.Tables[0].Rows[i]["Rounds"].ToString(), "Sourcing");
                cmbExpCTC.Items.Add(cItem);
            }
        }
    }
    catch { }
}

RadComboBox在单击页面的其他部分时更改所选项目

您的解决方案会清除列表,因此如果用户再次单击下拉列表,他们将什么都没有。你所要做的就是:

OnClientDropDownClosed="OnComboBoxDropDownClosed"
function OnComboBoxDropDownClosed(sender, args) {
     var field = $find('<%=cboBox.ClientID %>');
     if (field !== null)
     {
         var text = cboBox.get_selectedItem().get_text();
         field.set_text(text);
     }
 }

我得到了解决方案,我在RadComboBox中添加了OnClientDropDownClosed javascript函数。

<telerik:RadComboBox ID="cmbExpCTC" runat="server" MarkFirstMatch="true" EnableLoadOnDemand="true"  OnClientDropDownClosed="OncmbExpCTCDropDownClosed" >
                    </telerik:RadComboBox>
  function OncmbExpCTCDropDownClosed(sender, args) {
            sender.clearItems();
            if (args.get_domEvent().stopPropagation)
                args.get_domEvent().stopPropagation();
        }