我有一个带有标题和项目复选框的网格视图。当我选择标题复选框时,我的代码能够选择所有项目复选框。当我取消选择标题复选复选框时我的代码可以取消选择所有项目复选框。
这里我的问题是,当我的页面加载时(意味着当网格第一次加载时),默认情况下应该选择标题和项目复选框。我们如何做到这一点。
在Gridview 中使用RowDataBound事件
protected void GridViewName_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row .RowType == DataControlRowType .DataRow )
{
//Your Code
}
}
在网格视图中,列像这样写
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkhead" runat="server" onclick="SelectAllCheckboxes(this)" ClientIDMode="Static" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chksub" runat="server" ClientIDMode="Static" />
</ItemTemplate>
</asp:TemplateField>
之后编写Java脚本函数SelectAllCheckboxes
// select all check boxes
function SelectAllCheckboxes(spanChk) {
// Added as ASPX uses SPAN for checkbox
var oItem = spanChk.children;
var theBox = (spanChk.type == "checkbox") ?
spanChk : spanChk.children.item[0];
xState = theBox.checked;
elm = theBox.form.elements;
for (i = 0; i < elm.length; i++)
if (elm[i].type == "checkbox" && elm[i].id != theBox.id) {
//elm[i].click();
if (!elm[i].disabled) {
if (elm[i].checked != xState)
elm[i].click();
}
//elm[i].checked=xState;
}
}
编写.cs页面加载事件后,首先绑定网格视图和chheader.checked=true