zoukankan      html  css  js  c++  java
  • datagrid加checkbox实现分页不丢失选择的记录 (转)

    namespace checkboc_page
    {
     /// <summary>
     /// WebForm1 的摘要说明。
     /// </summary>
     public class WebForm1 : System.Web.UI.Page
     {
      protected System.Web.UI.WebControls.Button Button1;
      protected System.Web.UI.WebControls.DataGrid DataGrid1;
     
      private void Page_Load(object sender, System.EventArgs e)
      {
       if(!Page.IsPostBack)
       {
        show();
       }
      }

      private void show()
      {
       string conn =  ConfigurationSettings.AppSettings.Get("Connstring");
       DataSet ds = new DataSet();
       using(  SqlConnection con = new SqlConnection(conn))
       {
        con.Open();
        SqlCommand comm = new SqlCommand();
        SqlDataAdapter da =new SqlDataAdapter();
        
        da.SelectCommand = new SqlCommand();
        da.SelectCommand.Connection = con;
        da.SelectCommand.CommandText = "select * from Orders";
        da.SelectCommand.CommandType = CommandType.Text;
        
        da.Fill(ds);
               
       
        
       }
       this.DataGrid1.DataSource = ds.Tables[0];
      
       this.DataGrid1.DataBind();
                
       if(Session["userlist"]!=null)
       {
        Hashtable ht =(Hashtable) Session["userlist"];
        if(ht!=null)
        {
         for(int i = 0 ;i<DataGrid1.Items.Count ;i++)
         {
          if (ht.ContainsKey(DataGrid1.Items[i].Cells[0].Text.ToString().Trim()))
           (DataGrid1.Items[i].Cells[2].FindControl("CheckBox1") as CheckBox).Checked = true;

         }
        }
       }
      }

      private void check()
      {
       Hashtable ht = new Hashtable();
       if(Session["userlist"]!=null)
       {
        ht =(Hashtable) Session["userlist"];
        if(ht!=null)
        {
         for(int i = 0 ;i<DataGrid1.Items.Count ;i++)
         {
          if ( (DataGrid1.Items[i].Cells[2].FindControl("CheckBox1") as CheckBox).Checked)
          {
           if (! ht.ContainsKey(DataGrid1.Items[i].Cells[0].Text.ToString().Trim()))
           {
            ht.Add(DataGrid1.Items[i].Cells[0].Text.ToString().Trim(),DataGrid1.Items[i].Cells[1].Text.ToString().Trim());
           }
          }
          else
          {
           if ( ht.ContainsKey(DataGrid1.Items[i].Cells[0].Text.ToString().Trim()))
           {
            ht.Remove(DataGrid1.Items[i].Cells[0].Text.ToString().Trim());
           }
          }
         }
        }
       }
       else
       {
        for(int i = 0 ;i<DataGrid1.Items.Count ;i++)
        {
         if ( (DataGrid1.Items[i].Cells[2].FindControl("CheckBox1") as CheckBox).Checked)
         {
          ht.Add(DataGrid1.Items[i].Cells[0].Text.ToString().Trim(),DataGrid1.Items[i].Cells[1].Text.ToString().Trim());
         }
        }
       }

       Session["userlist"] = ht;
      }

      #region Web 窗体设计器生成的代码
      override protected void OnInit(EventArgs e)
      {
       //
       // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
       //
       InitializeComponent();
       base.OnInit(e);
      }
      
      /// <summary>
      /// 设计器支持所需的方法 - 不要使用代码编辑器修改
      /// 此方法的内容。
      /// </summary>
      private void InitializeComponent()
      {   
       this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
       this.Button1.Click += new System.EventHandler(this.Button1_Click);
       this.Load += new System.EventHandler(this.Page_Load);

      }
      #endregion

      private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
      {
       check();
       
       DataGrid1.CurrentPageIndex = e.NewPageIndex;
       show();
      }

      private void Button1_Click(object sender, System.EventArgs e)
      {
       
       
                 check();
       Hashtable ht = (Hashtable)Session["userlist"];
       
        foreach (DictionaryEntry objDE in ht)
        {
         Response.Write(objDE.Value.ToString());
         
        }


       
      }
     }
    }

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 数的统计
    Java实现 蓝桥杯VIP 算法训练 和为T
    Java实现 蓝桥杯VIP 算法训练 友好数
    Java实现 蓝桥杯VIP 算法训练 连续正整数的和
    Java实现 蓝桥杯VIP 算法训练 寂寞的数
    Java实现 蓝桥杯VIP 算法训练 学做菜
    Java实现 蓝桥杯VIP 算法训练 暗恋
    Java实现 蓝桥杯VIP 算法训练 暗恋
    测试鼠标是否在窗口内,以及测试鼠标是否在窗口停留
    RichEdit 各个版本介绍
  • 原文地址:https://www.cnblogs.com/xh831213/p/328552.html
Copyright © 2011-2022 走看看