radcombobox被填充两次相同的记录

本文关键字:两次 记录 填充 radcombobox | 更新日期: 2023-09-27 18:30:32

我在网格视图中使用radcombobox asp.net。我使用了radcombobox的ItemTemplate标签在其中放置了一个复选框,用于多选记录,我的标记是

<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>

我已经在GridviewEmptyDataTemplate EditTemplateFooterTemplate中使用了它。

我正在RowCreated事件中填充Combobox

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 条记录。我哪里出错了,请建议。

radcombobox被填充两次相同的记录

尝试删除函数调用

rcbDept1.DataBind();

我对dataBind不太了解,但我知道的是databind在其数据源更改时(即添加或删除新项目时)会更新您的控件。

我希望我的回答对你有所帮助。