今天介绍下gridview中点击checkbox触发的事件,包括全选。
声明下,gridview中的checkbox不是在gridview设计器里面添加的,而是在gridview的属性中设置出来的,具体操作:
这个是触发全选,也可以触发单选。不过这个代码没有怎么判断是否选择了,那么请继续往下看。
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