2011-01-11 59 views
1

出於某種原因,我的RadComboBox「EmptyMessage」未在頁面的初始加載中顯示,但是在我將焦點並模糊化爲控件之外時出現。我如何強制我的「EmptyMessage」默認顯示?RadComboBox 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」,而不是「Choose ...」。但是,一旦我打開並關閉組合框,默認更改爲「選擇...」。

回答

1

由於這RadComboBox沒有加載上的需求,從而爲EmptyTextMessage工作如您所願,您還需要設置該屬性AllowCustomTextTrue

Telerik

的EmptyMessage屬性當AllowCustomText屬性爲 時,可以使用 設置爲True(在 按需加載方案中始終爲true)。它在 組合框的輸入字段中設置 文本。當 組合框獲得焦點並且 再次出現模糊時,如果未選擇項目 ,則此文字消失。

相關問題