RadComboBox добавляет элемент в топ - PullRequest
4 голосов
/ 08 июля 2011

Я пытаюсь добавить элемент в верхнюю часть раскрывающегося списка.Я использую ItemTemplates, поэтому я делаю привязку данных и пытаюсь добавить один сверху, который читает

[ ] All Profiles

Я смог добавить его, но он переопределяет привязку реальных данных, поэтому, когдадобавил, что теперь есть только [ ] All profiles, но нет настоящих связанных данных.Что я делаю неправильно?

Кстати, я новичок в c #:)

Спасибо

  public void BindData()
{
    myCombo.DataSource = myDbConnection.GetValues();
    myCombo.DataTextField = "Name";
    myCombo.DataValueField = "ID";
    myCombo.DataBind();
    var tempProfiles = new[] { new { Name = "All Profiles", ID = "1" } };
    myCombo.DataSource = tempProfiles;
    myCombo.DataBind();

}

<telerik:RadComboBox ID="myCombo" EmptyMessage="All Types" runat="server" Width="200px">
     <ItemTemplate>
       <div onclick="StopPropagation(event)">
         <asp:CheckBox runat="server" ID="chk1" onclick="onCheckBoxClick(this)"/>
              <asp:Label runat="server" ID="lblProfile" AssociatedControlID="chk1">
                  <%# Eval("Name") %>
               </asp:Label>
             </div>
            </ItemTemplate>
            </telerik:RadComboBox> 

Ответы [ 2 ]

8 голосов
/ 08 июля 2011

В вашем примере вы перезаписываете свой DataSourceObject своим списком из 1 элемента.

Вы должны добавить пункт «вручную» после вашего DataBind вызова:

 myCombo.Items.Insert(0, 
       new Telerik.Web.UI.RadComboBoxItem { Text = "All Profiles", Value = "1" }
    );
 myCombo.SelectedIndex = 0;
0 голосов
/ 08 июля 2011

если вы работаете в связанном режиме, все данные должны поступать из источника данных.

Обычно я добавляю дополнительный элемент в источник данных с идентификатором 0 или int.MaxValue в зависимости от порядка сортировки ипозиция, где я хочу показать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...