asp.net的GridView checkall和uncheckall在一个头复选框 [英] asp.net gridview checkall and uncheckall in a single header checkbox

查看:157
本文介绍了asp.net的GridView checkall和uncheckall在一个头复选框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是低于code管理gridview的所有检查并取消所有在一个头复选框。我能找到头复选框状态grid.rows [0] .cells [0] .checked总是返回undefined。请帮我做到这一点。

 函数checkAll(){        变种格=的document.getElementById(&下;%= grd_chq_pending.ClientID%gt;中);        如果(grid.rows.length大于0){
            对于(i = 1; I< grid.rows.length;我++){
                细胞= grid.rows [I] .cells [0];                为(J = 0; J< cell.childNodes.length; J ++){
                    //如果childNode类型复选框
                    如果(cell.childNodes [J]。类型==复选框){
                       如果(grid.rows [0] .cells [0] .checked == true)而
                       {
                        cell.childNodes [J] .checked = FALSE;
                       }
                       其他
                       {
                         cell.childNodes [J] .checked == TRUE;
                       }
                    }
                }
            }        }
    }
< ASP:的TemplateField>
<&HeaderTemplate中GT;
   < ASP:复选框ID =chkall=服务器的OnChange =checkAll(); />
< / HeaderTemplate中>
<&ItemTemplate中GT;
   < ASP:复选框ID =chkSelect=服务器/>
< / ItemTemplate中>
< ItemStyle宽度=20像素/>
< / ASP:的TemplateField>


解决方案

您可以使用这样的功能。

Java的脚本

 函数CheckAll(oCheckbox)
 {
     变种GridView2 =的document.getElementById(&下;%= GridView2.ClientID%gt;中);
     对于(i = 1; I< GridView2.rows.length;我++)
     {
        GridView2.rows [I] .cells [0] .getElementsByTagName(INPUT)[0] .checked = oCheckbox.checked;
      }
  }

的GridView

 < ASP:GridView控件ID =GridView2=服务器FONT-SIZE =12px的背景色=#FFFFFF
  网格线=两者的cellpadding =4的AutoGenerateColumns =false的>
  < HeaderStyle背景色=#EDEDEDHEIGHT =26px/>
  <柱体和GT;
   < ASP:的TemplateField>
    <&HeaderTemplate中GT;
     <输入ID =Checkbox2类型=复选框的onclick =CheckAll(本)=服务器/>
    < / HeaderTemplate中>
    <&ItemTemplate中GT;
     < ASP:复选框ID =ItemCheckBox=服务器/>
    < / ItemTemplate中>
   < / ASP:的TemplateField>
  < /专栏>
 < / ASP:GridView的>

编辑1

详细信息


<一href=\"http://www.$c$cproject.com/Articles/24763/Check-uncheck-CheckBox-in-a-GridView-using-Javascr\">http://www.$c$cproject.com/Articles/24763/Check-uncheck-CheckBox-in-a-GridView-using-Javascr

<一href=\"http://social.msdn.microsoft.com/Forums/pl-PL/netfxjscript/thread/1dc30488-6a9a-465b-a7b1-d1f198906752\">http://social.msdn.microsoft.com/Forums/pl-PL/netfxjscript/thread/1dc30488-6a9a-465b-a7b1-d1f198906752

更多链接

的GridView检查所有的复选框问题

I am using the below code to manage gridview check all and uncheck all in a single header checkbox. I can able to find the header checkbox status grid.rows[0].cells[0].checked always return undefined. Please help me to do this.

function checkAll() {

        var grid = document.getElementById("<%= grd_chq_pending.ClientID %>");

        if (grid.rows.length > 0) {
            for (i = 1; i < grid.rows.length; i++) {
                cell = grid.rows[i].cells[0];

                for (j = 0; j < cell.childNodes.length; j++) {
                    //if childNode type is CheckBox                 
                    if (cell.childNodes[j].type == "checkbox") {
                       if(grid.rows[0].cells[0].checked == true)
                       {
                        cell.childNodes[j].checked = false;
                       }
                       else
                       {
                         cell.childNodes[j].checked == true;
                       }
                    }
                }
            }

        }
    }




<asp:TemplateField>
<HeaderTemplate>
   <asp:CheckBox ID="chkall" runat="server" OnChange="checkAll();" />
</HeaderTemplate>
<ItemTemplate>
   <asp:CheckBox ID="chkSelect" runat="server" />
</ItemTemplate>
<ItemStyle Width="20px" />
</asp:TemplateField>

解决方案

You can use function like this

java-script

 function CheckAll(oCheckbox)
 {
     var GridView2 = document.getElementById("<%=GridView2.ClientID %>");
     for(i = 1;i < GridView2.rows.length; i++)
     {
        GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = oCheckbox.checked;
      }
  }

Gridview

<asp:GridView ID="GridView2" runat="server" Font-Size="12px" BackColor="#FFFFFF"
  GridLines="Both" CellPadding="4"  AutoGenerateColumns="false">
  <HeaderStyle BackColor="#EDEDED" Height="26px" />
  <Columns>
   <asp:TemplateField>
    <HeaderTemplate>
     <input id="Checkbox2" type="checkbox" onclick="CheckAll(this)" runat="server" />
    </HeaderTemplate>
    <ItemTemplate>
     <asp:CheckBox ID="ItemCheckBox" runat="server" />
    </ItemTemplate>
   </asp:TemplateField>
  </Columns>
 </asp:GridView>

Edit 1

Detail Information
http://www.codeproject.com/Articles/24763/Check-uncheck-CheckBox-in-a-GridView-using-Javascr
http://social.msdn.microsoft.com/Forums/pl-PL/netfxjscript/thread/1dc30488-6a9a-465b-a7b1-d1f198906752

More Links

Gridview Checking all checkboxes issue

这篇关于asp.net的GridView checkall和uncheckall在一个头复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆