RadComboBox EmptyMessage 在初始加载时未显示

发布于 2024-10-11 04:47:44 字数 1835 浏览 13 评论 0原文

由于某种原因,我的 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”,而不是“选择...”。然而,一旦我打开并关闭组合框,默认值就会更改为“选择...”。

For some reason my RadComboBox "EmptyMessage" is not showing on the initial load of the page but it does after I focus and blur out of the control. How can I force my "EmptyMessage" to show by default?

My .aspx is as follows:

<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>

My code behind:

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();
}

I also have the following javascript methods in my .aspx:

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();
    }

My combobox defaults to "Test1" by default instead of "Choose...". Once I open and close the combobox, however, the default changes to "Choose...".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

删除→记忆 2024-10-18 04:47:44

由于此 RadComboBox 不是按需加载,为了使 EmptyTextMessage 按您的预期工作,您还需要将属性 AllowCustomText 设置为True

来自 Telerik

可以使用EmptyMessage属性
当AllowCustomText属性为
设置为 True (在 a 中始终为 true
按需加载场景)。它设置了一个
的输入字段中的文本
组合框。该文字消失时
组合框获得焦点并且
如果没有任何项目,则会再次出现模糊
已选择。

Since this RadComboBox is not loading on demand, in order for the EmptyTextMessage to work as you expect, You need to also set the property AllowCustomText to True

From Telerik:

The EmptyMessage property can be used
when the AllowCustomText property is
set to True (it is always true in a
Load-on-Demand scenario). It sets a
text in the input field of the
combobox. This text disappears when
the combobox gets the focus and
appears again on blur if no item is
selected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文