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>
Я использовал это в 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 записей. Где я иду не так, пожалуйста, предложите.
1 ответ
Попробуйте удалить вызов функции
rcbDept1.DataBind();
Я не особо разбираюсь в dataBind, но я знаю, что databind поддерживает ваш контроль обновленным всякий раз, когда изменяется его источник данных (т.е. при добавлении или удалении новых элементов.).
Я надеюсь, что мой ответ помог вам.