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

    技术2022-05-20  38

    遍历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;        }


    最新回复(0)