Показать RadListBoxItem без шаблона

У меня есть следующий Telerik RadListBox, с шаблоном.

<tel:RadListBox ID="ToList" runat="server" DataValueField="Key" EmptyMessage="No Items" style="width:300px;">
    <ItemTemplate>
        #<asp:Literal runat="server" Text='<%# Eval("AcctNumber") %>' />
        <div>
            <asp:Literal runat="server" Text='<%# Eval("Amount", "{0:C2}") %>' />
        </div>
    </ItemTemplate>
</tel:RadListBox>

Тем не менее, я хотел бы вставить пустой пункт "- Выбрать -" в начале. Я попытался добавить элемент, как:

ToList.Items.Insert(0, new RadListBoxItem("- Select -", ""));

Тем не менее, это добавляет элемент, используя данный шаблон в качестве пользовательского интерфейса; Я хотел бы, чтобы я не использовал мой текст. Возможно ли это сделать?

1 ответ

Решение

К счастью, есть простое решение. Поместите встроенный условный оператор в ItemTemplate следующим образом:

<ItemTemplate>
<ul>
    <li class="col1"><%# Container.DataItem != null ? DataBinder.Eval(Container.DataItem, "CompanyName") : DataBinder.Eval(Container, "Text") %></li>
    <li class="col2"><%# DataBinder.Eval(Container.DataItem, "City") %></li>
    <li class="col3"><%# DataBinder.Eval(Container.DataItem, "ContactTitle") %></li>
</ul>
</ItemTemplate>
<Items>
   <telerik:RadComboBoxItem Text="Select a country" />
</Items>

http://www.telerik.com/help/aspnet-ajax/combobox-insert-default-item-when-databinding.html

Другие вопросы по тегам