asp.Net Repeaterコントロールの全選択、一括操作について

13975 ワード

今日Repeaterコントロールの中で1つの全選択の操作に出会って、そこでインターネットを利用して調べて、1つを見つけて比較的に良いと思って、記録して、
インタフェースコードが簡略化された後(すべて選択):
  <script type="text/javascript">

      function SelectAll(parentChk, ChildId, bigControlID) {

              var oElements = document.getElementsByTagName("INPUT");

              var bIsChecked = parentChk.checked;



               for (i = 0; i < oElements.length; i++) {

                     if (IsCheckBox(oElements[i]) && IsMatch(oElements[i].id, ChildId, bigControlID)) {

                        oElements[i].checked = bIsChecked;

                      }

                   }

                }
function IsMatch(id, ChildId, controlID) { var sPattern = '^' + controlID + '_+.*' + ChildId + '$'; var oRegExp = new RegExp(sPattern); if (oRegExp.exec(id)) return true; else return false; } function IsCheckBox(chk) { if (chk.type == 'checkbox') return true; else return false; } </script> <asp:Repeater ID="Repeater_xx" runat="server"> <HeaderTemplate> <table> <tr> <th> </th> <th> </th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td> <asp:CheckBox ID="CheckBox_ID" runat="server" Checked="false" /> </td> <td> <asp:Label runat="server" ID="Label_ID" Text='<%#Eval("Label_ID")%>'></asp:Label> </td> <tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <asp:CheckBox runat="server" ID="CheckBoxCz" Text=" / " onclick='SelectAll(this,"CheckBox_ID","Repeater_xx")'/>

 
  

     后台根据选中项获取当前行的数据然后进行操作   

 public void Gssubmit_Click(object sender, EventArgs e)

  {

        for (int i = 0; i < Repeater_xx.Items.Count; i++)

          {

                 //     

                 CheckBox cb = (CheckBox)rpt_Paper.Items[i].FindControl("CheckBoxCz");

                 //       

                 if(cb != null && cb.Checked == true)

                 {

                   Label id = (Label)rpt_Paper.Items[i].FindControl("Lable_ID");

                   //    ID

                   int ID= Convert.ToInt32(Id.Text);

                  //    

                    ......

                 }

          }  

  }