今天介绍下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