private void fg_DoubleClick(object sender, EventArgs e)
 {
     try
     {
         dlgChonHoatDong dlg = new dlgChonHoatDong();
         if (!(fg[fg.Row, fg.Col] == System.DBNull.Value))
         {
             CellRange rg          = fg.GetCellRange(fg.Row, fg.Col, fg.Row, fg.Col);
             CellData  objCellData = new CellData();
             if (!(rg.UserData == null))
             {
                 objCellData        = (CellData)rg.UserData;
                 dlg.mKeHoachKhacID = objCellData.IDKeHoachKhac;
                 dlg.mNgayNghi      = objCellData.NgayNghi;
             }
         }
         // Nếu có chọn loại hoạt động thì sẽ thực hiện việc áp dụng đó lên grid
         if (dlg.ShowDialog() == DialogResult.OK)
         {
             // Nếu có sự thay đổi thì sẽ thực hiện việc hiển thị lên grid
             DisplayKeHoachOnGrid(0, dlg.mKeHoachKhacID, dlg.mTenKeHoachKhac, dlg.mTenVietTat, dlg.mNgayNghi, fg.Row, fg.Col, fg.Row, fg.Col);
         }
     }
     catch (Exception ex)
     {
         XtraMessageBox.Show(ex.Message);
     }
 }
        private void btnThemHoatDong_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (fg.Rows.Count > fg.Rows.Fixed)
            {
                int rowStart, rowEnd, colStart, colEnd;
                //DateTime dateTuNgay, dateDenNgay;
                CellRange rg = fg.Selection;
                if (rg.UserData == null)
                {
                    return;
                }
                // Không cần phải gắn dữ liệu CellData đoạn này. Sẽ sinh ra lỗi khi chọn vào vùng fixed
                CellData objCellData = (CellData)rg.UserData;
                rowStart = rg.TopRow;
                rowEnd   = rg.BottomRow;
                colStart = rg.LeftCol;
                colEnd   = rg.RightCol;
                // Kiểm tra xem các dữ liệu fixed
                if (colStart < ColBegin)
                {
                    colStart = ColBegin;
                }
                if (rowStart < RowBegin)
                {
                    rowStart = RowBegin;
                }

                dlgChonHoatDong dlg = new dlgChonHoatDong();
                dlg.mNgayNghi      = "";
                dlg.mKeHoachKhacID = objCellData.IDKeHoachKhac;
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    DisplayKeHoachOnGrid(0, dlg.mKeHoachKhacID, dlg.mTenKeHoachKhac, dlg.mTenVietTat, dlg.mNgayNghi, rowStart, colStart, rowEnd, colEnd);
                    // ghi log
                    GhiLog("Thêm kế hoạch khác '" + dlg.mTenKeHoachKhac + "' vào kế hoạch toàn trường", "Xóa", this.Tag.ToString());
                }
            }
        }