1. 程式人生 > >c# Gridview 點選checkbox 觸發的事件

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