asp.net Gridview分页保存选项

  

复制代码 代码如下:

  #region //'Revision: 1.00 Created Date: 2013/08/02 Created ID: Una [#1300071]增加多選框

  /// <summary>

  /// Session獲取多選框值

  /// </summary>

  private void RememberOldValues()

  {

  ArrayList categoryIDList = new ArrayList();

  string index = "";

  foreach (GridViewRow row in gridView.Rows)

  {

  index = (string)gridView.DataKeys[row.RowIndex].Value;

  bool result = ((CheckBox)row.FindControl("DeleteThis")).Checked;

  // Check in the Session

  if (Session["id"] != null)

  categoryIDList = (ArrayList)Session["id"];

  if (result)

  {

  if (!categoryIDList.Contains(index))

  categoryIDList.Add(index);

  }

  else

  categoryIDList.Remove(index);

  }

  if (categoryIDList != null && categoryIDList.Count > 0)

  Session["id"] = categoryIDList;

  }

  /// <summary>

  /// Session分頁時之前多選框為true

  /// </summary>

  private void RePopulateValues()

  {

  ArrayList categoryIDList = (ArrayList)Session["id"];

  if (categoryIDList != null && categoryIDList.Count > 0)

  {

  foreach (GridViewRow row in gridView.Rows)

  {

  string index = (string)gridView.DataKeys[row.RowIndex].Value;

  if (categoryIDList.Contains(index))

  {

  CheckBox myCheckBox = (CheckBox)row.FindControl("DeleteThis");

  myCheckBox.Checked = true;

  }

  }

  }

  }

  #endregion

  

复制代码 代码如下:

  protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)

  {

  RememberOldValues();

  gridView.PageIndex = e.NewPageIndex;

  BindData();

  RePopulateValues();

  }

  

复制代码 代码如下:

  protected void btnSelect_Click(object sender, EventArgs e)

  {

  string items = "";

  ArrayList categoryIDList = new ArrayList();

  string index ="";

  foreach (GridViewRow row in gridView.Rows)

  {

  index = (string)gridView.DataKeys[row.RowIndex].Value;

  bool result = ((CheckBox)row.FindControl("DeleteThis")).Checked;

  // Check in the Session

  if (Session["id"] != null)

  categoryIDList = (ArrayList)Session["id"];

  if (result)

  {

  if (!categoryIDList.Contains(index))

  categoryIDList.Add(index);

  }

  else

  categoryIDList.Remove(index);

  }

  if (categoryIDList != null && categoryIDList.Count > 0)

  for (int i = 0; i < categoryIDList.Count; i++)

  {

  items += categoryIDList[i] + ",";

  }

  items = items.Substring(0, items.Length - 1);

  ScriptManager.RegisterStartupScript(this, this.GetType(), "", "check('" + items + "');", true);

  Session.Remove("id");

  }