c# Gridview 點選checkbox 觸發的事件
今天介紹下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