private void SetSelectionInfo(int index) { //设置显示日期文本 DateTime dt = dtpDate.Value.AddDays(index); int roomCount = zDataConverter.ToInt(bllConfiguration.GetItemValueByCache("RoomCount")); int dayCount = zDataConverter.ToInt(bllConfiguration.GetItemValueByCache("DayCount")); string[] roomNames = zDataConverter.ToString(bllConfiguration.GetItemValueByCache("RoomNames")).Split(','); string[] dayNames = zDataConverter.ToString(bllConfiguration.GetItemValueByCache("DayNames")).Split(','); tabControl1.TabPages[index].Text = string.Format(MessageText.FORMAT_DATE_WEEK, dt.ToString(MessageText.FORMAT_DATE), dt.ToString("dddd", new System.Globalization.CultureInfo("zh-CN"))); //清除表格重绘 Control[] controls = tabControl1.TabPages[index].Controls.Find(zDataConverter.ToString(typeof(XFClassScheduler)) + index, false); if (controls.Length > 0) { for (int i = 0; i < controls.Length; i++) { tabControl1.TabPages[index].Controls.Remove(controls[i]); controls[i].Dispose(); } } xfClassScheduler = new XFClassScheduler(dayCount, roomCount, roomNames, dayNames); xfClassScheduler.Name = zDataConverter.ToString(typeof(XFClassScheduler)) + index; xfClassScheduler.Tag = dt; xfClassScheduler.Dock = DockStyle.Fill; xfClassScheduler.Size = new Size(tabControl1.TabPages[index].Width - 6, tabControl1.TabPages[index].Height - 6); tabControl1.TabPages[index].Controls.Add(xfClassScheduler); //设置已选课数据 foreach (DataRow dr in dtSelection.Select(string.Format("CourseDate ='{0}' and StoreID = {1}", dt, StoreID))) { XF.Model.Course_Selection model = bll.DataRowToModel(dr); xfClassScheduler.Rows[model.LessonNO].Cells[model.ClassRoomID].Style.BackColor = ColorTranslator.FromHtml(model.Color); xfClassScheduler.Rows[model.LessonNO].Cells[model.ClassRoomID].Value = string.Format("{0}第{1}节{2}选课人数:{3}{2}授课老师:{4}{2}学员:{5}", model.CourseName, model.SectionNO, MessageText.KEY_ENTER, zDataConverter.ToString(model.SelectionCount), model.TeacherName, model.StudentNames); xfClassScheduler.Rows[model.LessonNO].Cells[model.ClassRoomID].Tag = model.SelectionID; } //设置已排课数据,目前不区分教室排课 int weekDay = ((int)dt.DayOfWeek + 6) % 7; foreach (DataRow dr in dtScheduler.Select(string.Format("StoreID = {0} and WeekDay = {1}", StoreID, weekDay))) { XF.Model.Course_Scheduler model = bllScheduler.DataRowToModel(dr); for (int i = 0; i < roomCount; i++) { if (zDataConverter.ToString(xfClassScheduler.Rows[model.LessonNO].Cells[i].Tag).Equals(string.Empty)) { xfClassScheduler.Rows[model.LessonNO].Cells[i].Style.BackColor = Color.Lavender; xfClassScheduler.Rows[model.LessonNO].Cells[i].Tag = -1; xfClassScheduler.Rows[model.LessonNO].Cells[i].Value = "未排课"; } } } //设置点击事件 xfClassScheduler.CellClick += new DataGridViewCellEventHandler(xfClassScheduler_CellClick); }
/// <summary> /// 保存数据采用先清除,后增加策略 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tsBtnSave_Click(object sender, EventArgs e) { ArrayList lstSql = new ArrayList(); XF.Model.Course_Scheduler model = new XF.Model.Course_Scheduler(); lstSql.Add(bll.GetDeleteSql(storeID, classRoomID)); model.StoreID = storeID; model.ClassRoomID = classRoomID; foreach (DataGridViewRow dgvr in xfCourseScheduler1.Rows) { foreach (DataGridViewCell dgvc in dgvr.Cells) { if (zDataConverter.ToString(dgvc.Value).Equals(MessageText.HAS_SCHEDULER)) { model.WeekDay = dgvc.ColumnIndex; model.LessonNO = dgvc.RowIndex; lstSql.Add(bll.GetAddSql(model)); } } } if (bllSys.ExecuteSqlTran(lstSql)) { QQMessageBox.Show( this, MessageText.TIP_SUCCESS_SAVE, MessageText.MESSAGEBOX_CAPTION_TIP, QQMessageBoxIcon.OK, QQMessageBoxButtons.OK); } else { QQMessageBox.Show( this, MessageText.SQL_ERROR_SCHEDULER_SAVE, MessageText.MESSAGEBOX_CAPTION_ERROR, QQMessageBoxIcon.Error, QQMessageBoxButtons.OK); } }