如何实现单击在DATALIST(DATAGRID)的HEADER加入的CHECKBOX,进行DATALIST(DATAGRID)中的CHECKBOX列全选或全不选

时间:2022-05-03 09:20:34

首先在DATALIST的HEADER列上加入<INPUT onclick=ll(this.checked); type=checkbox>,  然后在<head> 里的JAVASCRIPT中加入

function ll(flag) { if (document.Form1.DataList2__ctl1_CheckBox1 !=null) { document.Form1.DataList2__ctl1_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl2_CheckBox1 !=null) { document.Form1.DataList2__ctl2_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl3_CheckBox1 !=null) { document.Form1.DataList2__ctl3_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl4_CheckBox1 !=null) { document.Form1.DataList2__ctl4_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl5_CheckBox1 !=null) { document.Form1.DataList2__ctl5_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl6_CheckBox1 !=null) { document.Form1.DataList2__ctl6_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl7_CheckBox1 !=null) { document.Form1.DataList2__ctl7_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl8_CheckBox1 !=null) { document.Form1.DataList2__ctl8_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl9_CheckBox1 !=null) { document.Form1.DataList2__ctl9_CheckBox1.checked=flag; } if (document.Form1.DataList2__ctl10_CheckBox1 !=null) { document.Form1.DataList2__ctl10_CheckBox1.checked=flag; } }

实现的关键在于如何确定DATALIST中的CHECKBOX的名字

一上面的例子为例,我定义了DATALIST每页显示10行,其中DATALIST的名字:DataList2,而CheckBox的名字:CheckBox1,  CHECKBOX列为第一列,那么CHECKBOX列中的每一个CHECKBOX的名字就是DataList2__ctl?_CheckBox1,  "?"就是从1开始递增