radcombobox дважды заполняется одними и теми же записями

Я использую radcombobox в asp.net gridview. Я использовал тег ItemTemplate radcombobox для установки в нем флажка для множественного выбора записей, моя разметка

<telerik:RadComboBox TabIndex="2" ID="rcbDept" runat="server" 
         EmptyMessage="--Select Department--"
         AllowCustomText="true" EnableScreenBoundaryDetection="false" 
         Width="100px" EnableTextSelection="false"
         Filter="Contains" Height="200" OnClientDropDownClosed="DropDownClosed"
         OnClientFocus="ClientFocus">
         <ItemTemplate>
             <asp:CheckBox runat="server" ID="chk1" onclick="onCheckBoxClick(this)" 
                  Text='<%# DataBinder.Eval(Container.DataItem, "dept_name") %>' />
         </ItemTemplate>
  </telerik:RadComboBox>

Я использовал это в EmptyDataTemplate EditTemplate и FooterTemplate из Gridview.

Я заполняю Combobox в событии RowCreated

protected void gv1_RowCreated(object sender, GridViewRowEventArgs e)
{
     int a = 0;
     RadComboBox rcbDept1 = (RadComboBox)e.Row.FindControl("rcbDept");
     if (rcbDept1 != null)
     {
        if (rcbDept1.Items.Count == 0)
        {
           rcbDept1.DataSource = obj.FillRcbDepartment(a);
           rcbDept1.DataTextField = "dept_name";
           rcbDept1.DataValueField = "dept_cd";
           rcbDept1.DataBind();
        }
     }
  }

Моя проблема в том, что если в отделе 5 записей, они дублируются и combobox заполняются 10 записями. Где я ошибаюсь, подскажите, пожалуйста.


person Anuj    schedule 06.09.2013    source источник


Ответы (1)


Попробуйте удалить вызов функции

rcbDept1.DataBind();

Я ничего не знаю о dataBind, но я знаю, что databind обновляет ваш элемент управления всякий раз, когда изменяется его источник данных (т.е. при добавлении или удалении новых элементов).

Надеюсь, мой ответ помог вам.

person Community    schedule 06.09.2013
comment
я проверил отладку только один раз, запись приходит, я тоже поместил часы на items.count radcombobox, который показывает количество только один раз - person Anuj; 06.09.2013
comment
попробуйте удалить функцию databind(), а затем посмотрите, какой результат вы получите. - person ; 06.09.2013
comment
да, после удаления DataBind только один раз приходит запись, отредактируйте свой пост, чтобы я мог принять его как ответ. но можете ли вы объяснить, что для этого не требуется DataBind ()? - person Anuj; 06.09.2013