/// <summary> /// 拖拽调整时间段 /// </summary> private void schedulerPlanTask_AppointmentDrop(object sender, AppointmentDragEventArgs e) { try { int autoIdInt = DataTypeConvert.GetInt(e.EditedAppointment.ResourceId); DateTime beginDate = e.EditedAppointment.Start; DateTime endDate = e.EditedAppointment.End.AddDays(-1); DataRow[] olddrs = TableProjectPlanTask.Select(string.Format("AutoId = {0}", autoIdInt)); if (olddrs.Length > 0) { if (!CheckIsPlanEdit(olddrs[0])) { e.Allow = false; return; } } bSProjectPlanTask.EndEdit(); DataRow dr = ((DataRowView)bSProjectPlanTask.Current).Row; if (dr.RowState != DataRowState.Unchanged) { if (MessageHandler.ShowMessageBox_YesNo("确认是否保存当前行信息?") == DialogResult.Yes) { if (!editForm.btnSave_Click()) { e.Allow = false; return; } } else { dr.RejectChanges(); editForm.Set_Button_State(true); editForm.Set_EditZone_ControlReadOnly(true); } } else { editForm.Set_Button_State(true); editForm.Set_EditZone_ControlReadOnly(true); } planTaskDAO.UpdateProjectPlanTask_PlanDate(autoIdInt, beginDate, endDate); e.Allow = false; editForm.btnRefresh_Click(null, null); DataRow[] newdrs = TableProjectPlanTask.Select(string.Format("AutoId = {0}", autoIdInt)); if (newdrs.Length > 0) { bSProjectPlanTask.Position = TableProjectPlanTask.Rows.IndexOf(newdrs[0]); bSProjectPlanTask_PositionChanged(null, null); } } catch (Exception ex) { ExceptionHandler.HandleException(this.Text + "--拖拽调整时间段错误。", ex); } }
/// <summary> /// 列表聚焦改变刷新当前选中行的信息 /// </summary> private void resourcesTreePlanTask_BeforeFocusNode(object sender, DevExpress.XtraTreeList.BeforeFocusNodeEventArgs e) { try { if (bSProjectPlanTask.Current != null && !isLockGrid) { bSProjectPlanTask.EndEdit(); DataRow dr = ((DataRowView)bSProjectPlanTask.Current).Row; if (e.OldNode != null) { int oldAutoId = DataTypeConvert.GetInt(e.OldNode["AutoId"]); DataRow[] olddrs; if (oldAutoId == 0) { olddrs = TableProjectPlanTask.Select("AutoId is null"); } else { olddrs = TableProjectPlanTask.Select(string.Format("AutoId = {0}", oldAutoId)); } if (olddrs.Length > 0 && dr == olddrs[0]) { if (dr.RowState != DataRowState.Unchanged) { if (MessageHandler.ShowMessageBox_YesNo("确认是否保存当前行信息?") == DialogResult.Yes) { if (!editForm.btnSave_Click()) { e.CanFocus = false; return; } } else { dr.RejectChanges(); editForm.Set_Button_State(true); editForm.Set_EditZone_ControlReadOnly(true); } } else { editForm.Set_Button_State(true); editForm.Set_EditZone_ControlReadOnly(true); } } } if (e.Node != null) { DataRow[] newdrs = TableProjectPlanTask.Select(string.Format("AutoId = {0}", DataTypeConvert.GetInt(e.Node["AutoId"]))); if (newdrs.Length > 0) { bSProjectPlanTask.Position = TableProjectPlanTask.Rows.IndexOf(newdrs[0]); if (resourcesTreePlanTask.FocusedNode == null) { bSProjectPlanTask_PositionChanged(null, null); } } } } } catch (Exception ex) { ExceptionHandler.HandleException(this.Text + "--列表聚焦改变刷新当前选中行的信息错误。", ex); } }