出于某种原因,我的RadComboBox“EmptyMessage”没有显示在页面的初始加载上,但它在我聚焦并模糊出控件之后显示。如何强制我的“EmptyMessage”默认显示?
我的.aspx如下:
<telerik:RadComboBox
ID="SomeFilter" runat="server"
EmptyMessage="Choose..."
OnClientSelectedIndexChanging="OnClientSelectedIndexChanging"
OnClientDropDownOpening="OnClientDropDownOpening"
OnClientDropDownClosing="OnClientDropDownClosing"
OnClientBlur="OnClientBlur">
<ItemTemplate>
<asp:CheckBox ID="ItemSelector" runat="server" />
<asp:Label runat="server" ID="ItemLabel" AssociatedControlID="ItemSelector">
<%# DataBinder.Eval(Container, "Text") %>
</asp:Label>
</ItemTemplate>
</telerik:RadComboBox>
我的代码背后:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SetSomeFilterDropDown();
}
}
private void SetSomeFilterDropDown()
{
SomeFilter.Items.Add(new RadComboBoxItem("Test1", "Test1"));
SomeFilter.Items.Add(new RadComboBoxItem("Test2", "Test2"));
SomeFilter.Items.Add(new RadComboBoxItem("Test3", "Test3"));
SomeFilter.DataBind();
}
我的.aspx中也有以下javascript方法:
var supressDropDownClosing = false;
OnClientDropDownClosing = function (sender, eventArgs) {
eventArgs.set_cancel(supressDropDownClosing);
sender.clearSelection();
}
OnClientSelectedIndexChanging = function (sender, eventArgs) {
eventArgs.set_cancel(supressDropDownClosing);
}
OnClientDropDownOpening = function (sender, eventArgs) {
supressDropDownClosing = true;
}
OnClientBlur = function (sender) {
supressDropDownClosing = false;
sender.toggleDropDown();
}
我的组合框默认默认为“Test1”而不是“选择...”。但是,一旦我打开并关闭组合框,默认值就会更改为“选择...”。
答案 0 :(得分:1)
由于此RadComboBox
未按需加载,为了使EmptyTextMessage
按预期工作,您还需要将属性AllowCustomText
设置为True
< / p>
来自Telerik:
可以使用EmptyMessage属性 当AllowCustomText属性是 设置为True(在a中总是如此) 按需加载方案)。它设定了一个 文本在输入字段中 组合框。这段文字消失了 组合框获得焦点和 如果没有项目,则再次出现模糊 地选择。