使用C#和javascript都可以实现,第二种更好一些,页面不用总是刷新。只是想对.net学得更深入,所以两种方法都尝试了。
1、用c#实现:
aspx文件:
<asp:DataList ID="dlistNews" runat="server" >
<HeaderTemplate><table>
<tr><td>
<asp:CheckBox ID="chkAll" runat="server" Text="全选" OnCheckedChanged="chkAll_CheckedChanged" AutoPostBack="True" /></td> </tr>
</HeaderTemplate>
<FooterTemplate></table></FooterTemplate>
<ItemTemplate> <tr><td>
<asp:CheckBox ID="chk" runat="server" /></td>。。。。
</ItemTemplate>
</asp:DataList>
响应函数:
protected void chkAll_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked==true)
{
foreach (DataListItem j in dlistNews.Items)
{
CheckBox cb = (CheckBox)j.FindControl("chk");
cb.Checked = true;
}
}
else
{
foreach (DataListItem j in dlistNews.Items)
{
CheckBox cb = (CheckBox)j.FindControl("chk");
cb.Checked = false;
}
}
}
开始时不懂用((CheckBox)sender).Checked来获取chkAll的值,通过listItem的FindControl来查找,无论如何都找不到,查了很久才发现在listItem中查找的只是Itemtemplate中的控件,在headertemplate和footertemplate中的必须用其他方法。
查找headertemplate的:((CheckBox)dlistNews.Controls[0].FindControl("chkAll"))。这样也可以得到chkAll的值。
查找footertemplate的:((CheckBox)dlistNews.Controls[dlistNews.Controls.Count - 1].FindControl("chkAll"))
2、用javascript实现
把chkAll的属性修改为:<asp:CheckBox ID="chkAll" runat="server" Text="全选" onclick="SelectAll(this) " AutoPostBack="False" />
<script type="text/javascript" language="javascript">
function SelectAll(box)
{
var table = document.getElementById("dlistNews"); //获得datalist
var checkes =table.getElementsByTagName("input");
for(var i=0;i<checkes.length;i++)
{
if(box.checked == true)
{
if(checkes[i].type=="checkbox")
{
checkes[i].checked=true;
}
}
else
{
if(checkes[i].type=="checkbox")
{
checkes[i].checked=false;
}
}
}
</script>
分享到:
相关推荐
CheckBox实现多选列表,并实现全选、反选功能
JQuery实现checkbox的全选取消全选
winform DataGridView表头带CheckBox全选;winform DataGridView表头带CheckBox全选
高级控件(datagridview等)中加入checkbox实现全选和反选经典例子
HtML javascritp checkbox 全选HtML javascritp checkbox 全选
Recyclerview item上CheckBox,包括全选,取消全选,单选功能
DataGridView表头添加checkbox实现全选反选
checkbox.html 博文链接:https://crazymud.iteye.com/blog/426702
1、vue+elementui实现select下拉框增加checkbox并可全选或取消; 2、完整的代码示例; 3、清晰的示例图片
js实现checkbox 全选和取消 自己亲测可以使用
简单代码实现android的多选、全选、反选功能。介绍功能实现的全过程以及需要注意的地方。简单代码分享,希望能给大家带来一些帮助!
详细介绍了该功能的实现,并带有效果图和Form 页面 代码详细 ,可直接Copy
Ext_Net_CheckboxGroup 勾选、全选、反选和限制勾选
checkBox全选——jscheckBox全选——jscheckBox全选——jscheckBox全选——jscheckBox全选——jscheckBox全选——js
asp.net(C#),DataList控件里嵌入CheckBox,实现全选、反选以及删除功能。
WPF之CheckBox组的全选设计,知识点有位运算和枚举的Flags特性
Checkbox多选全选
Datagridview控件没有全选或取消全选的复选框,本资源用VB2015通过扩展DataGridViewColumnHeaderCell类,在列头绘制一个复选框checkbox控件,通过定义checkbox鼠标单击事件来实现行的全选或取消全选。checkbox还可以...
手动绘制winfrom DataGridView的列头CheckBox 实现单击列头的CheckBox全选和不全选!
简约时尚CSS样式,checkbox 全选或取消全选、或得到选中个数全案例使用详解