zoukankan      html  css  js  c++  java
  • JavaScript实现DataGrid中添加CheckBox列(全选与否)

    (一).功能

        1. JavaScript检索CheckBox并实现全选和全消功能

             用C#等写的CheckBox需要回发到服务端执行,
             而用JavaScript可以在直接客户端实现,效率高些

    (二).代码

           1. DataGrid中的代码主要片段:

            <Columns>

                <HeaderTemplate>       //头模板代码
                       <asp:CheckBox id="chkHeader" runat="server" AutoPostBack="False"   //AutoPostBack设为假,不需要回发

                                onclick="javascript:SelectAll(this);"></asp:CheckBox>
                </HeaderTemplate>

               <ItemTemplate>            //项模板代码
                       <asp:CheckBox id="chkItem" runat="server"></asp:CheckBox>
               </ItemTemplate>

            </Columns>

    2.  在当页加入:

      <script language="javascript">
           function SelectAll(tempControl)
           {
               //将除头模板中的其它所有的CheckBox取反 

                var theBox=tempControl;
                 xState=theBox.checked;   

                elem=theBox.form.elements;
                for(i=0;i<elem.length;i++)
                if(elem[i].type=="checkbox" && elem[i].id!=theBox.id)
                 {
                      if(elem[i].checked!=xState)
                            elem[i].click();
                }
      }  
    </script>

    3.当使用者选择好后台代码取得某列CheckBox的值:
    for (int i = 0;i <this.DataGrid.Items.Count;i++)
    {
            bool blnIfSelect = ((CheckBox)this.DataGrid.Items[i].FindControl("chkItem")).Checked;
            ....;   //这是可以根据blnIfSelect进行各种操作了        
    }

  • 相关阅读:
    #背包方案 ——整数划分(Acwing900)
    #分组背包 #背包方案 ——Acwing 1013 机器分配
    #背包 #二进制优化 ——Acwing 5. 多重背包问题 II(二进制优化)
    #背包方案 AcWing 532. 货币系统
    #背包方案 ——AcWing 1021. 货币系统2
    背包问题求方案数
    有依赖的背包问题
    分组背包问题
    二维费用的背包问题
    混合背包问题
  • 原文地址:https://www.cnblogs.com/kelly/p/1288336.html
Copyright © 2011-2022 走看看