Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
            }
        }