Click here to Skip to main content
16,019,043 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello friends please help me.

i have one wizard grid and that has paging. there is check boxes in each row and one. if i check the check boxes and goes to the next page. when i come back to first page the check boxes status remains unchecked. I have tried the following but it not affects anything



protected void gvUser_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvUser.PageIndex = e.NewPageIndex;

//Loading data to Grid
GetData();

//Code to maintain selected record while paging
if (ViewState["SelectedRows"] != null)
{
List<string> selectedItems = (List<string>)ViewState["SelectedRows"];
foreach (GridViewRow row in gvQuestion.Rows)
{
CheckBox chkUser = (CheckBox)row.FindControl("chkUser");
var result = selectedItems.Find(item => item == chkUser.ToolTip);
if (result != null)
{
CheckBox chk = (CheckBox)row.FindControl("chkUser");
if (chk != null)
{
chk.Checked = true;
}
}
}
}
}

public void GetData()
{
try
{
SqlDSUser.SelectCommand = select * from User;

}
catch (Exception)
{
throw;
}
}



protected void chkUser_OnCheckedChanged(object sender, EventArgs e)
{
CheckBox chkStatus = (CheckBox)sender;
GridViewRow selectedrow = (GridViewRow)chkStatus.NamingContainer;

//Getting selected records from View state
List<string> selectedItems = null;
if (ViewState["SelectedRows"] != null)
{
selectedItems = (List<string>)ViewState["SelectedRows"];
}
else
{
selectedItems = new List<string>();
}




//If checked then adding to list
if (chkStatus.Checked)
{

selectedItems.Add(chkStatus.ToolTip);
}
//if unchecked then remove from list if exist
else
{
var result = selectedItems.Find(item => item == chkStatus.ToolTip);

if (result != null)
{
selectedItems.Remove(chkStatus.ToolTip);
}
}

//Assigning Selected records to ViewState
ViewState["SelectedRows"] = selectedItems;
}
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900