我有带有标题和项目复选框的gridview。当我选择标题复选框时,我的代码能够选择所有项目复选框。当我取消选择标题复选框时,我的代码可以取消选中所有项目复选框。
这里的问题是我的页面加载时(意味着第一次加载网格时)默认情况下应选择标题和项目复选框。我们可以这样做吗。
答案 0 :(得分:0)
在Gridview中使用RowDataBound事件
protected void GridViewName_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row .RowType == DataControlRowType .DataRow )
{
//Your Code
}
}
答案 1 :(得分:0)
在网格视图列中,像这样写
<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;