Hopes

          Start Here..

           

          GridView中添加一個(gè)CheckBox列,翻頁后保存選中狀態(tài)

          GridView中添加一個(gè)CheckBox列,翻頁后保存選中狀態(tài)

          作者:邱俊 | 出處:博客園 | 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    /// 獲取或設(shè)置選中項(xiàng)的集合
          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        //在每一次重新綁定之前,需要調(diào)用CollectSelected方法從當(dāng)前頁收集選中項(xiàng)的情況
          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    /// 從當(dāng)前頁收集選中項(xiàng)的情況
          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        //最后,需要對(duì)選中項(xiàng)進(jìn)行操作之前,不能忘了還要最后一次收集當(dāng)前頁的選中情況
          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) 評(píng)論(1)  編輯  收藏

          評(píng)論

          # re: GridView中添加一個(gè)CheckBox列,翻頁后保存選中狀態(tài) 2016-03-04 17:16 11

          ddddddd  回復(fù)  更多評(píng)論   


          只有注冊用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          你好!

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊

          收藏夾

          C#學(xué)習(xí)

          友情鏈接

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 曲阳县| 陆河县| 丹东市| 新营市| 汉沽区| 麻栗坡县| 响水县| 措勤县| 陈巴尔虎旗| 枣庄市| 黔江区| 礼泉县| 兴城市| 石首市| 独山县| 探索| 外汇| 沧州市| 平潭县| 林西县| 沙雅县| 祁连县| 梁山县| 张家界市| 巧家县| 渭南市| 宁波市| 瑞丽市| 鹰潭市| 武定县| 赣榆县| 台东县| 东港市| 益阳市| 班玛县| 特克斯县| 神农架林区| 南开区| 松江区| 永城市| 丹巴县|