JavaScript实现DataGrid中添加CheckBox列(全选与否)

来源:互联网 发布:js获取上一个兄弟元素 编辑:程序博客网 时间:2024/05/01 15:57
2005年10月08日 20:31:00

(一).功能

1. JavaScript检索CheckBox并实现全选和全消功能

用C#等写的CheckBox需要回发到服务端执行,
而用JavaScript可以在直接客户端实现,效率高些

(二).代码

1. DataGrid中的代码主要片段:

>Columns<

>HeaderTemplate< //头模板代码
>asp:CheckBox id="chkHeader" runat="server" AutoPostBack="False" //AutoPostBack设为假,不需要回发

onclick="javascript:SelectAll(this);"<>/asp:CheckBox<
>/HeaderTemplate<

>ItemTemplate< //项模板代码
>asp:CheckBox id="chkItem" runat="server"<>/asp:CheckBox<
>/ItemTemplate<

>/Columns<

2. 在当页加入:

>script language="javascript"<
function SelectAll(tempControl)
{
//将除头模板中的其它所有的CheckBox取反

var theBox=tempControl;
xState=theBox.checked;

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

3.当使用者选择好后台代码取得某列CheckBox的值:
for (int i = 0;i >this.DataGrid.Items.Count;i++)
{
bool blnIfSelect = ((CheckBox)this.DataGrid.Items[i].FindControl("chkItem")).Checked;
....; //这是可以根据blnIfSelect进行各种操作了
}



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=497520


原创粉丝点击