Пример #1
0
        private void AddBands()
        {
            int IDTuan, HocKy, TuanThu, widthKy1 = 0, widthKy2 = 0;

            try
            {
                for (int i = 0; i < dtTuan.Rows.Count; i++)
                {
                    IDTuan  = int.Parse(dtTuan.Rows[i]["XL_TuanID"].ToString());
                    TuanThu = int.Parse(dtTuan.Rows[i]["TuanThu"].ToString());
                    HocKy   = int.Parse(dtTuan.Rows[i]["HocKy"].ToString());

                    if (HocKy == 1)
                    {
                        bgc      = new BandedGridColumn();
                        bgc.Name = "T" + IDTuan.ToString();
                        bgc.OptionsColumn.AllowMerge = DevExpress.Utils.DefaultBoolean.False;
                        grbKy1.Columns.Add(bgc);
                        SetColumnBandCaption(bgc, "T" + TuanThu.ToString(), "T" + IDTuan.ToString(), colWidth, DevExpress.Utils.HorzAlignment.Center, true);
                        bgrvGiaoVien.Columns.AddRange(new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn[] { bgc });

                        widthKy1 += colWidth;
                    }
                    else
                    {
                        bgc      = new BandedGridColumn();
                        bgc.Name = "T" + IDTuan.ToString();
                        bgc.OptionsColumn.AllowMerge = DevExpress.Utils.DefaultBoolean.False;
                        grbKy2.Columns.Add(bgc);
                        SetColumnBandCaption(bgc, "T" + TuanThu.ToString(), "T" + IDTuan.ToString(), colWidth, DevExpress.Utils.HorzAlignment.Center, true);
                        bgrvGiaoVien.Columns.AddRange(new DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn[] { bgc });

                        widthKy2 += colWidth;
                    }
                }

                SetBandCaption(grbKy1, "Học kỳ 1", widthKy1);
                SetBandCaption(grbKy2, "Học kỳ 2", widthKy2);
            }
            catch (Exception ex)
            {
                ThongBao(ex.Message);
            }
        }
        private void LuuKeHoach()
        {
            int IDTuan, currentIDTuan, c, IDDM_Lop;

            for (int r = RowBegin; r <= fg.Rows.Count - 1; r++)
            {
                IDDM_Lop = int.Parse(fg[r, "IDDM_Lop"].ToString());
                IDTuan   = int.Parse(fg[0, ColBegin].ToString());
                dtTuan.DefaultView.RowFilter = "XL_TuanID = " + IDTuan.ToString();
                c = ColBegin;
                while (c <= fg.Cols.Count - 1)
                {
                    CellRange rg          = fg.GetCellRange(r, c, r, c);
                    CellData  objCellData = (CellData)rg.UserData;
                    currentIDTuan = int.Parse(fg[0, c].ToString());
                    // Nếu vẫn là tuần đang xét thì sẽ lấy dữ liệu
                    if (IDTuan != currentIDTuan)
                    {
                        IDTuan = currentIDTuan;
                        dtTuan.DefaultView.RowFilter = "XL_TuanID = " + IDTuan.ToString();
                    }
                    if (rg.UserData != null)
                    {
                        if (objCellData.IDKeHoachKhac == -1)
                        {
                            if (objCellData.KeHoachTruongID > 0)
                            {
                                DeleteKeHoachTruongTuan(objCellData.KeHoachTruongID);
                            }
                        }
                        else
                        {
                            if (objCellData.Changed)
                            {
                                // Nếu có sự thay đổi trong kế hoạch và từ ca học -> nghỉ hoặc từ nghỉ -> ca học hoặc nghỉ -> nghỉ khác
                                // Từ nghỉ -> nghỉ khác thì update vào
                                if (objCellData.KeHoachTruongID > 0)
                                {
                                    // Nếu được thay thế bởi Kế hoạch nghỉ khác thì update
                                    //if (objCellData.IDKeHoachKhac > 0)
                                    //{
                                    pKeHoachTruongInfo = new XL_KeHoachTruongInfo();
                                    pKeHoachTruongInfo.XL_KeHoachTruongID = objCellData.KeHoachTruongID;
                                    pKeHoachTruongInfo.IDXL_KeHoachKhac   = objCellData.IDKeHoachKhac;
                                    pKeHoachTruongInfo.IDDM_Lop           = IDDM_Lop;
                                    pKeHoachTruongInfo.IDXL_Tuan          = IDTuan;
                                    pKeHoachTruongInfo.CaHoc         = objCellData.BuoiHoc;
                                    pKeHoachTruongInfo.IDDM_PhongHoc = objCellData.IDPhongHoc;
                                    pKeHoachTruongInfo.NgayNghi      = objCellData.NgayNghi;

                                    UpdateKeHoachTruongTuan(pKeHoachTruongInfo);
                                    //}
                                }
                                // Còn lại là Insert vào
                                else
                                {
                                    pKeHoachTruongInfo = new XL_KeHoachTruongInfo();
                                    pKeHoachTruongInfo.IDXL_KeHoachKhac = objCellData.IDKeHoachKhac;
                                    pKeHoachTruongInfo.IDDM_Lop         = IDDM_Lop;
                                    pKeHoachTruongInfo.IDXL_Tuan        = IDTuan;
                                    pKeHoachTruongInfo.CaHoc            = objCellData.BuoiHoc;
                                    pKeHoachTruongInfo.IDDM_PhongHoc    = objCellData.IDPhongHoc;
                                    pKeHoachTruongInfo.NgayNghi         = "" + objCellData.NgayNghi;

                                    objCellData.KeHoachTruongID = InsertKeHoachTruongTuan(pKeHoachTruongInfo);
                                }
                                objCellData.Changed = false;
                                rg.UserData         = objCellData;
                            }
                        }
                    }
                    c++;
                }
            }
        }