Hopes

          Start Here..

           

          GridView中添加一個CheckBox列,翻頁后保存選中狀態

          GridView中添加一個CheckBox列,翻頁后保存選中狀態

          作者:邱俊 | 出處:博客園 | 2011/11/27 23:56:43 | 閱讀40

           2using System;
           3using System.Data;
           4using System.Configuration;
           5using System.Collections;
           6using System.Web;
           7using System.Web.Security;
           8using System.Web.UI;
           9using System.Web.UI.WebControls;
          10using System.Web.UI.WebControls.WebParts;
          11using System.Web.UI.HtmlControls;
          12
          13public partial class GridSamples_GridView_CheckBoxColumn : System.Web.UI.Page
          14{
          15    /**//// <summary>
          16    /// 獲取或設置選中項的集合
          17    /// </summary>

          18    protected ArrayList SelectedItems
          19    {
          20        get
          21        {
          22            return (ViewState["mySelectedItems"!= null? (ArrayList)ViewState["mySelectedItems"] : null;
          23        }

          24        set
          25        {
          26            ViewState["mySelectedItems"= value;
          27        }

          28    }

          29
          30    protected void Page_Load(object sender, EventArgs e)
          31   {
          32        
          33    }

          34
          35
          36    protected void GridView1_DataBinding(object sender, EventArgs e)
          37    {
          38        //在每一次重新綁定之前,需要調用CollectSelected方法從當前頁收集選中項的情況
          39        CollectSelected();
          40    }

          41
          42   
          43    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
          44    {
          45        //這里的處理是為了回顯之前選中的情況
          46        if (e.Row.RowIndex > -1 && this.SelectedItems!=null)
          47        {
          48            DataRowView row = e.Row.DataItem as DataRowView;
          49            CheckBox cb = e.Row.FindControl("CheckBox1"as CheckBox;
          50            if(this.SelectedItems.Contains(row["id"].ToString()))
          51                cb.Checked = true;
          52            else
          53                cb.Checked = false;
          54        }

          55    }

          56    /**//// <summary>
          57    /// 從當前頁收集選中項的情況
          58    /// </summary>

          59    protected void CollectSelected()
          60    {
          61        ArrayList selectedItems = null;
          62        if (this.SelectedItems == null)
          63            selectedItems = new ArrayList();
          64        else
          65            selectedItems = this.SelectedItems;
          66
          67        for (int i = 0; i < this.GridView1.Rows.Count; i++)
          68        {
          69            string id = this.GridView1.Rows[i].Cells[1].Text;
          70            CheckBox cb = this.GridView1.Rows[i].FindControl("CheckBox1"as CheckBox;
          71            if (selectedItems.Contains(id) && !cb.Checked)
          72                selectedItems.Remove(id);
          73            if (!selectedItems.Contains(id) && cb.Checked)
          74                selectedItems.Add(id);
          75        }

          76        this.SelectedItems = selectedItems;
          77    }

          78
          79    protected void Button1_Click(object sender, EventArgs e)
          80    {
          81        //最后,需要對選中項進行操作之前,不能忘了還要最后一次收集當前頁的選中情況
          82        CollectSelected();
          83
          84       this.TextBox1.Text = string.Empty;
          85        foreach (object tmp in this.SelectedItems)
          86            this.TextBox1.Text += tmp.ToString() + ",";
          87    }

          88}

          posted on 2012-08-02 11:40 ** 閱讀(1259) 評論(1)  編輯  收藏

          評論

          # re: GridView中添加一個CheckBox列,翻頁后保存選中狀態 2016-03-04 17:16 11

          ddddddd  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          公告

          你好!

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊

          收藏夾

          C#學習

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 安远县| 龙南县| 章丘市| 滦平县| 长春市| 徐水县| 广昌县| 彭山县| 岫岩| 铁岭市| 开鲁县| 宁陵县| 平江县| 洛宁县| 安仁县| 海伦市| 集贤县| 博客| 永善县| 平南县| 高青县| 图们市| 西宁市| 辰溪县| 辽中县| 山阳县| 阜阳市| 威信县| 漠河县| 诸城市| 徐水县| 政和县| 隆林| 龙游县| 梅州市| 汉源县| 麟游县| 英超| 抚宁县| 马公市| 连城县|