Radcombobox заполняется два раза с одинаковыми записями

Я использую radcombobox в gridview asp.net. Я использовал тэг 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>

Я использовал это в EmptyDataTemplateEditTemplate & 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 записей. Где я иду не так, пожалуйста, предложите.

1 ответ

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

rcbDept1.DataBind();

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

Я надеюсь, что мой ответ помог вам.

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