发布网友 发布时间:2022-04-27 12:22
共1个回答
热心网友 时间:2022-04-27 13:51
◆请在新增的样板栏位中的HeaderTemplate加入一个CheckBox作为全选用,然後在ItemTemplate也加入一个CheckBox,如下方<asp:TemplateField><headertemplate><asp:CheckBoxID="CheckAll"runat="server"onclick="javascript: SelectAllCheckboxes(this);"Text="全选/取消"ToolTip="按一次全选,再按一次取消全选"/></headertemplate><itemtemplate><asp:CheckBoxID="CheckBox2"runat="server"Text=" 全选"/></itemtemplate></asp:TemplateField>◆接者请在该页面的最底部加上以下的Java Script<script type="text/javascript"> functionSelectAllCheckboxes(spanChk) { elm=document.forms[0]; for(i=0;i<= elm.length-1;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放在标签上面?小铺废言:到这里就已经完成了全选和取消全选的功能了,您可以自行测试看看,再来我们要制作修改的部份(你总不会做出全选/取消的功能只是让使用者按好玩的吧)◆接者在页面上放置一个按钮(Button),对按钮点两下,切换到程式部份◆切换到程式部份後我们利用以下code去抓出哪些列(ROW)有被打勾copytextpop-upint 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的值,我设定的是pk值}}★注意事项:如果您的GridVie没有设定 DataKeyNames="资料栏位"那上方的code就列不出pk值唷?小铺废言:利用以上方式您就可以准确的抓出哪些列有被使用者打勾,来作其他您要执行的程式了