当前位置:主页 > 软件编程 > .NET代码 >

GridView中加上CheckBox 的全选功能的代码

时间:2020-10-02 10:20:11 | 栏目:.NET代码 | 点击:

首先我????然是要先做出一??有?Y料的GridView
GridView做好後,我??在後方新增一???影?谖?(TemplateField)
?在新增的?影?谖恢械?HeaderTemplate加入一??CheckBox作?槿??x用,然後在ItemTemplate也加入一??CheckBox

复制代码 代码如下:

<asp:TemplateField>     
                    <HeaderTemplate>     
                        <asp:CheckBox ID="CheckAll" runat="server" onclick= "SelectAllCheckboxes(this);"  Text="全?x/取消" ToolTip="按一次全?x,再按一次取消全?x" />     
                    </HeaderTemplate>     
                    <ItemTemplate>     
                        <asp:CheckBox ID="CheckBox2" runat="server" Text="全?x"/>     
                    </ItemTemplate>     
</asp:TemplateField>

接著?在??面的最底部加上以下的Java Script

复制代码 代码如下:

<script type="text/javascript">     
function SelectAllCheckboxes(spanChk)     
{     
    elm=document.forms[0];     

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

如果您的?面有套用MasterPage??⑸戏?JS放在</asp:Content>?嘶`上面,到?@?e就已?完成了全?x和取消全?x的功能了,您可以自行?y?看看,再?砦??要?u作修改的部份(你?不??做出全?x/取消的功能只是?使用者按好玩的吧), 接著在?面上放置一??按?o(Button),?Π粹o?c?上拢?切?Q到程式部份, 切?Q到程式部份後我??利用以下code去抓出哪些列(ROW)有被打勾

复制代码 代码如下:

int i;     
for (i = 0; i < this.GridView1.Rows.Count; i++)     
{     
    if (((CheckBox)GridView1.Rows[i].FindControl("CheckBox2")).Checked)     
    {     
    Response.Write(GridView1.DataKeys[i].Value.ToString());     
    //GridView1.DataKeys[i].Value.ToString()可以抓到?列的DataKeys的值,我?O定的是pk值     
    }     
}

如果您的GridVie?]有?O定 DataKeyNames="?Y料?谖?"那上方的code就列不出pk值唷

利用以上方式您就可以?蚀_的抓出哪些列有被使用者打勾,?碜髌渌?您要?绦械某淌搅?

您可能感兴趣的文章:

相关文章