如何选择一个GridView中的所有复选框? [英] How to select all checkbox inside a gridview?

查看:238
本文介绍了如何选择一个GridView中的所有复选框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要检查它的GridView放在里面一个ListView里面的复选框。
在GridView是有很多行,每行正与相关recrods一个列表视图。
每一行中含有一种叫全选复选框。我要检查它伴随着特定的行子ListView控件的复选框。

我有一个服务器端code从林能够做到这一点。但其花费过多时间..即几乎大约1-2分钟来选择记录,如果有超过1000条记录。我想这是使用JavaScript来完成。我怎样才能做到这一点。

这是图像重presenting GridView控件和ListView。
GridView的是组和联系人是ListView控件
当我选择在GridView的全选按钮,相应的联系人应选择。

我怎样才能做到这一点使用Javascript。

这是网格视图的code

 < ASP:GridView控件ID =GridViewGroups=服务器的AutoGenerateColumns =FALSE
                                onrowdatabound =GridViewGroups_RowDataBoundWIDTH =100%
                                BORDERCOLOR =银边框=实边框宽度=1像素
                                onselectedindexchanged =GridViewGroups_SelectedIndexChanged
                                元:获取ResourceKey =GridViewGroupsResource1>
                            <柱体和GT;
                                < ASP:的TemplateField的HeaderText =组
                                    元:获取ResourceKey =TemplateFieldResource1HeaderStyle-的CssClass =tSubHead>
                                    <&ItemTemplate中GT;
                                        < D​​IV align =left>
                                     < ASP:面板ID =PanelContainer=服务器WIDTH =100%
                                                元:获取ResourceKey =PanelContainerResource1>                                    < ASP:面板ID =PanelHeaderList=服务器
                                             元:获取ResourceKey =PanelHeaderListResource1的CssClass =tSubHead2的风格=光标:指针;>
                                    < ASP:ImageButton的ID =Image1的=服务器的ImageUrl =../ micons / IC_Plus.png的CssClass =的TImage
                                            还有AlternateText =展开或折叠元:获取ResourceKey =Image1Resource1/>
                                    < ASP:标签ID =LabelGrpName_sm=服务器
                                            文本='&下;%#的String.Format({0}({1}),评估和演示(组_名称),评估和演示(CountNo))%GT;'
                                            元:获取ResourceKey =LabelGrpName_smResource1/>
                                     < / ASP:面板>
                                    < D​​IV的风格=浮动:左;宽度:200像素; >
                                    < ASP:HiddenField ID =hfGrpID=服务器值='<%#的eval(Grp_ID)%>' />
                                        < ASP:复选框ID =CheckBoxSelect=服务器的AutoPostBack =真类='<%#的eval(Grp_ID)%>'
                                            OnCheckedChanged =GroupCheckChanged
                                            元:获取ResourceKey =CheckBoxSelectResource1/>
                                  < B> < ASP:标签ID =Grp_NameLabel=服务器
                                            文本=全选
                                            元:获取ResourceKey =Grp_NameLabelResource1/>
                                            < / B>                                    < / DIV>                                  < BR />
                                    &所述p为H.;
                                    < ASP:面板ID =PanelGroupsItem=服务器WIDTH =100%
                                            元:获取ResourceKey =PanelGroupsItemResource1>
                                    < ASP:面板ID =MyGroups=服务器滚动条=垂直HEIGHT =300像素
                                            WIDTH =100%可见='<%#GetFlag(Convert.ToInt32(EVAL(Grp_ID)))%GT;'
                                            元:获取ResourceKey =MyGroupsResource1>                                        < ASP:ListView控件ID =ListViewContactsInGrp=服务器onitemdatabound =ListView1_ItemDataBound>
                                        <&LayoutTemplate模板GT;
                                            <表ID =表1=服务器的风格=宽度:100%;>
                                                < TR ID =TR1=服务器>
                                                    < TD ID =TD1=服务器>
                                                        <表ID =itemPlaceholderContainer=服务器BORDER =0的风格=宽度:100%;>
                                                            < TR ID =TR2=服务器的风格=>
                                                                百分位ID =Th1细胞=服务器合并单元格=2级=tSubHead2>
                                                                    联系和LT; /第i
                                                            < / TR>
                                                            < TR ID =itemPlaceholder=服务器>
                                                            < / TR>
                                                        < /表>
                                                    < / TD>
                                                < / TR>
                                                < TR ID =Tr3的=服务器>
                                                    < TD ID =TD2=服务器的风格=>
                                                    < / TD>
                                                < / TR>
                                            < /表>
                                        < / LayoutTemplate模板>
                                        <&ItemTemplate中GT;
                                         < TR风格=>
                                                < TD类=tListViewAlignment的风格=宽度:10px的>
                                                    < ASP:复选框ID =chkFlag=服务器元:获取ResourceKey =chkFlagResource1类='<%#的eval(grp_id)%>' />
                                                < / TD>
                                                < TD类=tListViewAlignment>< ASP:标签ID =LabelContacts=服务器文本='<%#的eval(cont_name)%>'
                                                        元:获取ResourceKey =LabelContactsResource1>< / ASP:标签>
                                                < ASP:HiddenField ID =hfGSM=服务器值='<%#的eval(cont_gsm)%>' />
                                                < / TD>
                                            < / TR>
                                        < / ItemTemplate中>                                        < / ASP:的ListView>
                                       < / ASP:面板>
                                    < / ASP:面板>
                                      &所述; / P>
                                    < ASP:CollapsiblePanelExtender ID =CollapsiblePanelExtender1=服务器
                                                折叠=真
                                                的TargetControlID =PanelGroupsItem
                                                CollapseControlID =PanelHeaderList
                                                ExpandControlID =PanelHeaderList
                                                ImageControlID =Image1的
                                                ExpandedImage =〜/ micons / IC_minus.png
                                                CollapsedImage =〜/ micons / IC_Plus.png
                                                燮pressPostBack =真启用=真>
                                    < / ASP:CollapsiblePanelExtender>
                                    < / ASP:面板>
                                    < / DIV>
                                    < / ItemTemplate中>
                                    < ItemStyle BORDERCOLOR =银/>
                                < / ASP:的TemplateField>
                            < /专栏>
                            < HeaderStyle BORDERCOLOR =银/>
                            < RowStyle BORDERCOLOR =银/>
                        < / ASP:GridView的>


解决方案

我想你需要的东西是这样的:

 函数SelectCheckboxes(toCheck){
    $(#GridViewGroups输入+ toCheck +:复选框)。每个(函数(){
        this.attr(选中,检查);
    });
}

和你这样称呼它:

 的OnClick(SelectCheckboxes(class_to_check);)

I want to Check the checkboxes inside a ListView which is Placed inside a Gridview. The Gridview is having many rows and Each row is having a List view with associated recrods. Each row contains a CheckBox called select all. I want to check the checkboxes of the child ListView control which accompanies that particular Row.

I have a Server side code from which Im able to do this. but its taking too much time.. ie almost around 1-2 mins to select records if there are more than 1000 records. I want this to be done using a Javascript. how can i achieve this.

This is the image representing the GridView and ListView. GridView is Groups and Contacts is the ListView When i select the "SelectAll" button in the GridView the Appropriate contacts should be selected.

How can I achieve this using Javascript.

This is the code of the grid view

 <asp:GridView ID="GridViewGroups" runat="server" AutoGenerateColumns="False"                                      
                                onrowdatabound="GridViewGroups_RowDataBound" Width="100%" 
                                BorderColor="Silver" BorderStyle="Solid" BorderWidth="1px" 
                                onselectedindexchanged="GridViewGroups_SelectedIndexChanged" 
                                meta:resourcekey="GridViewGroupsResource1" >
                            <Columns>
                                <asp:TemplateField HeaderText="Groups" 
                                    meta:resourcekey="TemplateFieldResource1" HeaderStyle-CssClass="tSubHead">
                                    <ItemTemplate>
                                        <div align="left" >
                                     <asp:Panel ID="PanelContainer" runat="server" Width="100%" 
                                                meta:resourcekey="PanelContainerResource1" >

                                    <asp:Panel ID="PanelHeaderList" runat="server"   
                                             meta:resourcekey="PanelHeaderListResource1" CssClass="tSubHead2" style="cursor:pointer;">
                                    <asp:ImageButton ID="Image1" runat="server" ImageUrl="../micons/IC_Plus.png" CssClass="tImage" 
                                            AlternateText="Expand or Collapse" meta:resourcekey="Image1Resource1"/>
                                    <asp:Label ID="LabelGrpName_sm" runat="server" 
                                            Text='<%# string.Format("{0} ({1})", Eval("Grp_Name"),Eval("CountNo")) %>' 
                                            meta:resourcekey="LabelGrpName_smResource1" />
                                     </asp:Panel>
                                    <div style="float:left;width:200px;" >  
                                    <asp:HiddenField ID="hfGrpID" runat="server" Value='<%# Eval("Grp_ID") %>' />     
                                        <asp:CheckBox ID="CheckBoxSelect" runat="server"  AutoPostBack="True" class='<%#Eval("Grp_ID") %>'
                                            OnCheckedChanged="GroupCheckChanged" 
                                            meta:resourcekey="CheckBoxSelectResource1"  />            
                                  <b>  <asp:Label ID="Grp_NameLabel" runat="server" 
                                            Text="Select All" 
                                            meta:resourcekey="Grp_NameLabelResource1" />
                                            </b>

                                    </div>

                                  <br />
                                    <p>
                                    <asp:Panel ID="PanelGroupsItem" runat="server" Width="100%" 
                                            meta:resourcekey="PanelGroupsItemResource1" >
                                    <asp:Panel ID="MyGroups" runat="server" ScrollBars="Vertical" Height="300px" 
                                            Width="100%" Visible='<%# GetFlag(Convert.ToInt32(Eval("Grp_ID"))) %>' 
                                            meta:resourcekey="MyGroupsResource1">

                                        <asp:ListView ID="ListViewContactsInGrp" runat="server"  onitemdatabound="ListView1_ItemDataBound" >
                                        <LayoutTemplate>
                                            <table id="Table1" runat="server" style="width:100%;">
                                                <tr id="Tr1" runat="server">
                                                    <td id="Td1" runat="server">
                                                        <table ID="itemPlaceholderContainer" runat="server" border="0" style="width:100%;">
                                                            <tr id="Tr2" runat="server" style="">
                                                                <th id="Th1" runat="server" colspan="2" class="tSubHead2">
                                                                    Contacts</th>                                
                                                            </tr>
                                                            <tr ID="itemPlaceholder" runat="server">
                                                            </tr>
                                                        </table>
                                                    </td>
                                                </tr>
                                                <tr id="Tr3" runat="server">
                                                    <td id="Td2" runat="server" style="">
                                                    </td>
                                                </tr>
                                            </table>
                                        </LayoutTemplate>
                                        <ItemTemplate>
                                         <tr style="">
                                                <td class="tListViewAlignment" style="width:10px">
                                                    <asp:CheckBox ID="chkFlag" runat="server" meta:resourcekey="chkFlagResource1" class='<%#Eval("grp_id") %>' />
                                                </td>                
                                                <td class="tListViewAlignment"><asp:Label ID="LabelContacts" runat="server" Text='<%# Eval("cont_name") %>' 
                                                        meta:resourcekey="LabelContactsResource1"></asp:Label>
                                                <asp:HiddenField ID="hfGSM" runat="server" Value='<%# Eval("cont_gsm") %>' />
                                                </td>
                                            </tr>
                                        </ItemTemplate>

                                        </asp:ListView>


                                       </asp:Panel>
                                    </asp:Panel>
                                      </p>
                                    <asp:CollapsiblePanelExtender ID="CollapsiblePanelExtender1" runat="server"
                                                Collapsed="True"
                                                TargetControlID="PanelGroupsItem"
                                                CollapseControlID="PanelHeaderList"
                                                ExpandControlID="PanelHeaderList"
                                                ImageControlID="Image1"
                                                ExpandedImage="~/micons/IC_minus.png"
                                                CollapsedImage="~/micons/IC_Plus.png"
                                                SuppressPostBack="True" Enabled="True">
                                    </asp:CollapsiblePanelExtender>
                                    </asp:Panel>
                                    </div>


                                    </ItemTemplate>
                                    <ItemStyle BorderColor="Silver" />
                                </asp:TemplateField>
                            </Columns>
                            <HeaderStyle BorderColor="Silver" />
                            <RowStyle BorderColor="Silver" />
                        </asp:GridView>

解决方案

I think you need something like this:

function SelectCheckboxes(toCheck){
    $("#GridViewGroups input."+toCheck+":checkbox").each(function () {
        this.attr("checked", "checked");
    });
}

and you call it like this:

OnClick(SelectCheckboxes("class_to_check");)

这篇关于如何选择一个GridView中的所有复选框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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