何らかの理由で、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();
}
私のコンボボックスは、デフォルトで「Choose...」ではなく「Test1」になっています。ただし、コンボボックスを開いたり閉じたりすると、デフォルトは「選択...」に変わります。