用服务器端的方法:
在页面上放一个gridview控件,配置好数据源,编辑列,添加一个模版列,再编辑模版,放入一个checkbox控件。代码如下:















后台cs代码:







用脚本实现:















再客户端写javascript
















=========================================================
<asp:TemplateColumn HeaderText="<input type=checkbox name='selectall' onClick='SelectAll(document.Form1)'>全选">
<ItemTemplate>
<asp:CheckBox id="CheckBox1" runat="server"> </asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
function SelectAll(frm)
{
for (var i=0;i <frm.elements.length;i++)
frm.elements[i].checked = frm.selectall.checked;
}
function CheckSelect(frm)
{
var col=frm.elements;
var obj=frm.selectall;
var intEls=0,intChks=0;
for(var i=0;i <col.length;i++)
{
if(col[i].type=="checkbox"&&col[i].name!="selectall")
{
intEls++;
if(col[i].checked)
intChks++;
}
}
obj.checked=(intEls==intChks);
}
=============================================================================== CS代码,我是用DATALIST实现的,GRIDVIEW也差不多吧 if (((CheckBox)sender).Checked) { for (int i = 0; i < DataList1.Items.Count; i++) { CheckBox cb = (CheckBox)DataList1.Items[i].FindControl("cb"); cb.Checked = true; } } else { for (int i = 0; i < DataList1.Items.Count; i++) { CheckBox cb = (CheckBox)DataList1.Items[i].FindControl("cb"); cb.Checked = false; } } 另外附上获得所选CheckBox对应的ID代码 for (int i = 0; i < DataList1.Items.Count; i++) { CheckBox cb = (CheckBox)DataList1.Items[i].FindControl("cb"); HiddenField hf = (HiddenField)DataList1.Items[i].FindControl("HiddenField1"); if(cb.check) { //... } } 用了一个影藏域,绑定数据库里面的ID,希望对你有帮助. ===================================================================================== js代码 GridView中的代码: 0