1

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

4

1 に答える 1

1

これRadComboBoxはオンデマンドで読み込まれないため、が期待どおりに機能するためには、プロパティを次のようEmptyTextMessageに設定する必要もあります。AllowCustomTextTrue

Telerikから:

EmptyMessageプロパティは、AllowCustomTextプロパティがTrueに設定されている場合に使用できます(ロードオンデマンドシナリオでは常にtrueです)。コンボボックスの入力フィールドにテキストを設定します。このテキストは、コンボボックスがフォーカスを取得すると消え、アイテムが選択されていない場合はぼかしで再び表示されます。

于 2011-01-11T20:28:00.523 に答える