为了美观要求在gridview1首列的用checkbox实现全选,不能在gridview外面写【全选按钮】,就是要类似这种:
<asp:TemplateField HeaderText="<input id='CheckAll' type='checkbox' onclick='selectAll(this)' />">一个全选的checkbox控制一个gridview。
 
下面附上一种实现了一个页面只存在一个geidview的全选实现方法html:
<asp:TemplateField HeaderText="<input id='CheckAll' type='checkbox' onclick='selectAll(this%>);' />">
                    <ItemTemplate>
                        <asp:CheckBox  ID="ckbox" runat="server" name="a" />
                    </ItemTemplate>
                    </asp:TemplateField>
Js:
 function selectAll(obj) {
              var theTable = obj.parentElement.parentElement.parentElement;
              var i;
              var j = obj.parentElement.cellIndex;              for (i = 0; i < theTable.rows.length; i++) {
                  var objCheckBox = theTable.rows[i].cells[j].firstChild;
                  if (objCheckBox.checked != null) objCheckBox.checked = obj.checked;
              }
          }

解决方案 »

  1.   

    另一个Gridview还不是可以这样写
      

  2.   

    斑竹 真是的,你试一试不就知道了、、、两个用的话 没效果
    另外  上面的代码:onclick='selectAll(this%>);   这里多了个 %>
      

  3.   

                                    <asp:TemplateField HeaderText="操作">
                                        <HeaderTemplate>
                                            <input type="checkbox" name="chkall" onclick="CheckAll(this.form)" value="ON">
                                        </HeaderTemplate>
                                        <ItemTemplate>
                                            <input type="checkbox" id="id" name="id" value="<%#Eval("id") %>" />
                                        </ItemTemplate>
                                    </asp:TemplateField>
      

  4.   

    http://blog.csdn.net/5653325/article/details/4567356
    稍微改造一下就可以实现你要的效果。
      

  5.   


    我晕   完全看不懂   0.0
    忘了说一下,用的是Jquery。
    很简单啊 引用一下jquery的js 代码一改造就可以了。
      

  6.   

    Refer:
    http://www.cnblogs.com/insus/archive/2013/01/20/2868532.htmlor:
    http://www.cnblogs.com/insus/articles/1411613.html
      

  7.   

    我找到原因了
    因为<asp:CheckBox  ID="ckbox" runat="server" name="a" />
    这里 多个  name='a'  这个东西
      

  8.   

        <script src="/js/jquery.js" charset="utf-8"></script>
        <script>
            function CheckAll(obj) {
                jQuery("#" + obj + " input[type='checkbox'][name='id']").attr("checked", jQuery("#" + obj + " input[type='checkbox'][name='chkall']").attr("checked"));
            }
        </script>
        <asp:GridView ID="GridView1" runat="server">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        <input type="checkbox" name="chkall" onclick="CheckAll('GridView1')" value="ON">
                    </HeaderTemplate>
                    <ItemTemplate>
                        <input type="checkbox" id="id" name="id" value="<%#Eval("id") %>" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="id" />
            </Columns>
        </asp:GridView>
        <asp:GridView ID="GridView2" runat="server">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        <input type="checkbox" name="chkall" onclick="CheckAll('GridView2')" value="ON">
                    </HeaderTemplate>
                    <ItemTemplate>
                        <input type="checkbox" id="id" name="id" value="<%#Eval("id") %>" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="id" />
            </Columns>
        </asp:GridView>
      

  9.   

    基本上用JS就可以解决的
    9L的也可以