如果我选择RadComboBox的任何项目,接下来当我点击页面的其他部分时,RadComboBox项目正在改变。我该如何解决这个问题?
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 { }
}
答案 0 :(得分:1)
您的解决方案将清除列表,因此如果用户再次单击下拉列表,他们将不会有任何内容。您所要做的就是:
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);
}
}
答案 1 :(得分:0)
我得到了解决方案,我将OnClientDropDownClosed javascript函数添加到RadComboBox。
<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();
}