0

asp.net gridview で radcombobox を使用しています。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>

EmptyDataTemplate EditTemplate& FooterTemplateof でこれを使用しました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 個のレコードでいっぱいになることです。どこが間違っているのですか?

4

1 に答える 1

2

関数呼び出しを削除してみてください

rcbDept1.DataBind();

私は dataBind についてはあまり知りませんが、databind は、データソースが変更されるたびに (つまり、新しい項目の追加または削除時に) コントロールを更新し続けることを知っています。

私の答えがお役に立てば幸いです。

于 2013-09-06T05:41:38.730 に答える