.net 在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;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值