c# Gridview 点击checkbox 触发的事件

时间:2024-04-08 18:21:02

今天介绍下gridview中点击checkbox触发的事件,包括全选。

声明下,gridview中的checkbox不是在gridview设计器里面添加的,而是在gridview的属性中设置出来的,具体操作:

c# Gridview 点击checkbox 触发的事件

这个是触发全选,也可以触发单选。不过这个代码没有怎么判断是否选择了,那么请继续往下看。

 private void dgvSheBeiView_SelectionChanged(object sender, DevExpress.Data.SelectionChangedEventArgs e)
        {
            if (e.Action == CollectionChangeAction.Refresh)
            {
                int[] ids = dgvSheBeiView.GetSelectedRows();
                if (ids.Length > 0)
                {
                    for (int i = 0; i < ids.Length; i++)
                    {
                        DataRow dr = dgvSheBeiView.GetDataRow(ids[i]);
                        //设备编码
                        string bh = dr["SBBM"].ToString();
                        //设备名称
                        string mc = dr["SBMC"].ToString();
                        string zcbh = dr["ZCBH"].ToString();
                        string dydj = dr["DYDJ"].ToString();
                        string tyrq = dr["TYRQ"].ToString();
                        string ccbh = dr["CCBH"].ToString();
                        string sccj = dr["SCCJMC"].ToString();
                        string sszx = dr["SSZX"].ToString();


                        //false:勾选;true:未勾选


                        ToEquipList(bh, mc, zcbh, dydj, tyrq, ccbh, sccj, sszx, "0");
                    }
                }
                else
                {
                    listSelect.Items.Clear();
                }
            }
        }


这里是触发单选的事件:

 #region 点击勾选触发事件
        private void dgvSheBeiView_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            if (e.Column.Caption.ToString().Equals("Selection"))    //获取每行的复选框状态。
            {
                DataRow dr = dgvSheBeiView.GetDataRow(e.RowHandle);
                //设备编码
                string bh = dr["SBBM"].ToString();
                //设备名称
                string mc = dr["SBMC"].ToString();
                string zcbh = dr["ZCBH"].ToString();
                string dydj = dr["DYDJ"].ToString();
                string tyrq = dr["TYRQ"].ToString();
                string ccbh = dr["CCBH"].ToString();
                string sccj = dr["SCCJMC"].ToString();
                string sszx = dr["SSZX"].ToString();


                //false:勾选;true:未勾选
                if (e.CellValue.ToString().Equals("False"))    //开始判断是否选中了checkbox,选中时false,没有选中是true
                {
                    ToEquipList(bh, mc, zcbh, dydj, tyrq, ccbh, sccj, sszx, "0");
                }
                else
                {
                    ToEquipList(bh, mc, zcbh, dydj, tyrq, ccbh, sccj, sszx, "1");
                }
            }
        }
        #endregion