多个复选框的asp网格选择全部 [英] asp grid with multiple check box select all

查看:84
本文介绍了多个复选框的asp网格选择全部的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个项目模板的网格



template1 with header [select all]复选框

和项目模板包含复选框



template2 with header [select all2]复选框

和项目模板包含复选框2



i需要一个java脚本



当我选择[全选]复选框时,需要选中所有复选框那个项目模板

当我选择[select all2]复选框时,它需要选择该项目模板中的所有复选框2





谢谢q

I have grid with two item templates

template1 with header [select all] check box
and item template consists of check boxes

template2 with header [select all2] check box
and item template consists of check boxes2

i need a java script

when i select [select all] check box it needs to select all check boxs in that item template
and when i select [select all2] check box it needs to select all check boxs in that item template2


thank q

推荐答案

< asp:gridview id =gridrunat =serverxmlns:asp =#unknown>

< columns> < asp:templatefield>

< headertemplate>

< asp:checkbox id =OneCheckBoxAllrunat =servertext =[Check All] previously Assigned >

onclick =checkAll(''oneCheckBox'',this); />

< / headertemplate>

< itemtemplate>



< asp:checkbox id =oneCheckBoxrunat =servertext =<%#Eval(one)%> />





< asp:templatefield>

< headertemplate>

< asp:checkbox id =TwoCheckBoxAllrunat =servertext =[Check All] Currently assigned>

onclick =checkAll(''TwoCheckBox'',this); />

< / headertemplate>

< itemtemplate>



< asp:checkbox id =TwoCheckBoxrunat =servertext =<%#Eval(two)%> />













以上是有多个复选框的网格



javascript是







< script type =text / javascript>

函数checkAll(fieldsname,field)

{

var n = aspnetForm.elements.length;

for(var i = 0; i< n; i ++)>

{

if(aspnetForm.elements [i] .id.indexOf(fieldsname)!= - 1)

{

aspnetForm.elements [i ] .checked = field.checked;

}

}

}

< / script>
<asp:gridview id="grid" runat="server" xmlns:asp="#unknown">
<columns> <asp:templatefield>
<headertemplate>
<asp:checkbox id="OneCheckBoxAll" runat="server" text="[Check All] Previously Assigned">
onclick="checkAll(''oneCheckBox'',this);" />
</headertemplate>
<itemtemplate>

<asp:checkbox id="oneCheckBox" runat="server" text="<%#Eval("one")%>" />


<asp:templatefield>
<headertemplate>
<asp:checkbox id="TwoCheckBoxAll" runat="server" text="[Check All] Currently Assigned">
onclick="checkAll(''TwoCheckBox'',this);" />
</headertemplate>
<itemtemplate>

<asp:checkbox id="TwoCheckBox" runat="server" text="<%#Eval("two")%>" />






above is grid with multiple checkboxes

javascript is



<script type="text/javascript">
function checkAll(fieldsname,field)
{
var n=aspnetForm.elements.length;
for (var i=0;i<n;i++)>
{
if (aspnetForm.elements[i].id.indexOf(fieldsname) !=-1)
{
aspnetForm.elements[i].checked = field.checked;
}
}
}
</script>


这里有一个我用过的样本检查并根据你的要求修改



here is a sample i''ve used check it and modify as per your requirement

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

            DataKeyNames="empid" DataSourceID="ObjectDataSource1">

            <Columns>

                <asp:TemplateField HeaderText="empid" SortExpression="empid">
                    <EditItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("empid") %>'></asp:Label>
                    </EditItemTemplate>
                    <HeaderTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True"

                            oncheckedchanged="CheckBox1_CheckedChanged" />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox2" runat="server" Text='<%# Eval("empid") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="empname" SortExpression="empname">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("empname") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <HeaderTemplate>
                        <asp:CheckBox ID="CheckBox4" runat="server" AutoPostBack="True"

                            oncheckedchanged="CheckBox4_CheckedChanged" />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox3" runat="server" Text='<%# Eval("empname") %>' />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="age" HeaderText="age" SortExpression="age" />
            </Columns>
        </asp:GridView>





C#代码



C# code for that

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
   {
       CheckBox cb1selall = GridView1.HeaderRow.FindControl("CheckBox1") as CheckBox;
       for (int i = 0; i < GridView1.Rows.Count; i++)
       {
           CheckBox cb1 = GridView1.Rows[i].FindControl("CheckBox2") as CheckBox;
           if (cb1selall.Checked)
           {
               cb1.Checked = true;
           }
           else
           {
               cb1.Checked = false;
           }

       }
   }
   protected void CheckBox4_CheckedChanged(object sender, EventArgs e)
   {
       CheckBox cb2selall = GridView1.HeaderRow.FindControl("CheckBox4") as CheckBox;
       for (int i = 0; i < GridView1.Rows.Count; i++)
       {
           CheckBox cb1 = GridView1.Rows[i].FindControl("CheckBox3") as CheckBox;
           if (cb2selall.Checked)
           {
               cb1.Checked = true;
           }
           else
           {
               cb1.Checked = false;
           }

       }
   }


这篇关于多个复选框的asp网格选择全部的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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