.net 遍历DataGrid中的复选框和遍历GridView中的复选框

遍历DataGrid中的复选框:

        /// <summary>
        /// 获取或设置选中项的集合
        /// </summary>
        protected ArrayList SelectedItems
        {
            get
            {
                return (ViewState["mySelectedItems"] != null) ? (ArrayList)ViewState["mySelectedItems"] : null;
            }
            set
            {
                ViewState["mySelectedItems"] = value;
            }
        }


               /// <summary>
        /// 从当前页中收集选中项的情况
        /// </summary>
        protected void CollectSelected()
        {
            bool isCheck = false;
            bool isHidden = false;
            ArrayList selectedItems = null;
            if (this.SelectedItems == null)
                selectedItems = new ArrayList();
            else
                selectedItems = this.SelectedItems;

            foreach (DataGridItem item in MainGrid.Items)
            {
                foreach (Control obj in item.Cells[0].Controls)
                {                      
                    CheckBox cb = new CheckBox();
                    HiddenField hf = new HiddenField();
                    if (obj is CheckBox)
                    {
                        cb = obj as CheckBox;
                        if (cb.Checked)
                        {
                            isCheck = true;
                        }
                    }
                    if (obj is HiddenField)
                    {
                        hf = obj as HiddenField;
                        if (isCheck)
                        {
                            isHidden = true;
                        }
                    }
                    string id = hf.Value;
                    if (selectedItems.Contains(id) && !isCheck && !isHidden)
                        selectedItems.Remove(id);
                    if (!selectedItems.Contains(id) && isCheck && isHidden)
                        selectedItems.Add(id);
                }
                isCheck = false;
                isHidden = false;
            }
            this.SelectedItems = selectedItems;
        }

 

遍历GridView中的复选框:

 /// <summary>
        /// 获取或设置选中项的集合
        /// </summary>
        protected ArrayList SelectedItems
        {
            get
            {
                return (ViewState["mySelectedItems"] != null) ? (ArrayList)ViewState["mySelectedItems"] : null;
            }
            set
            {
                ViewState["mySelectedItems"] = value;
            }
        }
        /// <summary>
        /// 从当前页中收集选中项的情况
        /// </summary>
        protected void CollectSelected()
        {
            ArrayList selectedItems = null;
            if (this.SelectedItems == null)
                selectedItems = new ArrayList();
            else
                selectedItems = this.SelectedItems;

            for (int i = 0; i < this.data_List.Rows.Count; i++)
            {
                //string id = this.data_List.Rows[i].Cells[1].Text;
                CheckBox cb = this.data_List.Rows[i].FindControl("checkBox_Item") as CheckBox;
                HiddenField hf = this.data_List.Rows[i].FindControl("hidden_Id") as HiddenField;
                string id = hf.Value;
                if (selectedItems.Contains(id) && !cb.Checked)
                    selectedItems.Remove(id);
                if (!selectedItems.Contains(id) && cb.Checked)
                    selectedItems.Add(id);
            }
            this.SelectedItems = selectedItems;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值