标题行复选框问题 [英] Problem with Header row checkbox
本文介绍了标题行复选框问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有网格视图,其中有一个复选框列。问题是,当我单击标题行复选框时,它会标记所有行复选框,但是当我进行分页并返回到同一页面时,标题复选框状态不会保持,但其他状态处于标记状态。
所以我想保持我的顶部复选框选择所有复选框
这是我的代码:
I have grid view, in which I have a checkbox column. The problem is that when I click on the header row checkbox, it marks all row checkboxes, but when I do paging and come back to same page, the header check box state is not maintaining but other are in marked state.
So I want to maintain my top checkbox which selects all checkboxes
Here is my code:
protected void grdEmployee_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
grdEmployee.PageIndex = e.NewPageIndex;
List<string> listEmpId = new List<string>();
if (hdnAdvanceSearch.Value == "Normal")
{
if (ViewState["empListNormal"] != null)
{
listEmpId = (List<string>)ViewState["empListNormal"];
}
foreach (GridViewRow row in grdEmployee.Rows)
{
CheckBox chkRow = (CheckBox)row.FindControl("chkRow");
CheckBox chkHeader = (CheckBox)row.FindControl("chkHeader");
HiddenField hdnEmployeeID = (HiddenField)row.FindControl("hdnEmployeeID");
if (chkRow.Checked)
{
if (!listEmpId.Contains(hdnEmployeeID.Value))
{
listEmpId.Add(hdnEmployeeID.Value);
}
}
else
{
if (listEmpId.Contains(hdnEmployeeID.Value))
{
listEmpId.Remove(hdnEmployeeID.Value);
}
}
}
ViewState["empListNormal"] = listEmpId;
BindEmployeeGrid();
}
else if (hdnAdvanceSearch.Value == "Advanced")
{
if (ViewState["empListAdvanced"] != null)
{
listEmpId = (List<string>)ViewState["empListAdvanced"];
}
foreach (GridViewRow row in grdEmployee.Rows)
{
CheckBox chkRow = (CheckBox)row.FindControl("chkRow");
HiddenField hdnEmployeeID = (HiddenField)row.FindControl("hdnEmployeeID");
if (chkRow.Checked)
{
if (!listEmpId.Contains(hdnEmployeeID.Value))
{
listEmpId.Add(hdnEmployeeID.Value);
}
}
else
{
if (listEmpId.Contains(hdnEmployeeID.Value))
{
listEmpId.Remove(hdnEmployeeID.Value);
}
}
}
ViewState["empListAdvanced"] = listEmpId;
BindAdvancedEmployeeGrid();
}
}
catch (Exception ex)
{
}
}
推荐答案
维护GridView内不同页面中选定CheckBox的状态 [ ^ ]
在GridView控件中选择多个复选框 [ ^ ]
这篇关于标题行复选框问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文