コード例 #1
0
ファイル: FrmDepartment_New.cs プロジェクト: comborep/PSAP
 /// <summary>
 /// 选择节点之前设定控件状态
 /// </summary>
 private void treeListDept_BeforeFocusNode(object sender, BeforeFocusNodeEventArgs e)
 {
     try
     {
         if (bSDepartment.Current != null)
         {
             if (((DataRowView)bSDepartment.Current).IsEdit)
             {
                 int     oldId = e.OldNode == null ? 0 : DataTypeConvert.GetInt(e.OldNode["AutoId"]);
                 DataRow dr    = ((DataRowView)bSDepartment.Current).Row;
                 if (dr.RowState == DataRowState.Added && oldId != 0)
                 {
                     return;
                 }
                 else
                 {
                     dr.RejectChanges();
                     editForm.Set_Button_State(true);
                     editForm.Set_EditZone_ControlReadOnly(true);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         ExceptionHandler.HandleException(this.Text + "--选择节点之前设定控件状态错误。", ex);
     }
 }
コード例 #2
0
ファイル: FrmProjectPlanTask.cs プロジェクト: RD-IT/RDPSAP
        /// <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);
            }
        }