private void gridView1_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
        {
            if (showDifferent == false) return;

            if (e.Column.FieldName.StartsWith("R") == false && 
                e.Column.FieldName != "职等数" && 
                e.Column.FieldName != "对比的职等" &&
                e.Column.FieldName != "年调" &&
                e.Column.FieldName != "年调率"
                ) return;

            e.Appearance.ForeColor = Color.Black;
            e.Appearance.BackColor = Color.Transparent;

            AdjustJobGrade row = gridView1.GetRow(e.RowHandle) as AdjustJobGrade;
            if (row != null)
            {
                if (row.is_separator) return;

                foreach (ModifyField field in row.内容不同的字段)
                {
                    if (field.名称 == e.Column.FieldName)
                    {
                        e.Appearance.ForeColor = Color.Yellow;
                        e.Appearance.BackColor = Color.Red;
                    }
                }
            }
        }
Exemple #2
0
 public EditGradeSalaryStandardForm(AdjustJobGrade sGrade, bool isCheck)
     : this()
 {
     isCheckInput = isCheck;
     grade        = sGrade;
     lbl职等名称.Text = "职等名称:" + sGrade.称;
 }
        //设置月薪字段的表头名称
        void SetMonthlySalaryColumnInfo()
        {
            for (int i = 1; i <= 20; i++)
            {
                string fieldName = "R" + i;
                //获取第 i 列对象
                GridColumn col = gridView1.Columns[fieldName];
                //查找第 i 列值不为空的记录
                AdjustJobGrade ag = grade_list.Find(a => a.GetPropertyValue(fieldName) != null);

                if (ag != null)
                {
                    col.Caption = " ";
                    RankSalaryStandardInput rss = grade_list[0].职级工资表.Find(a => a.序号 == i);
                    if (rss != null)
                    {
                        col.Caption = rss.职级;
                        //设置开始执行日期
                        date开始执行日期.DateTime = rss.开始执行日期;
                    }
                    col.Visible = true;
                    col.Width = 50;
                    col.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                    col.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                }
                else
                    col.Visible = false;
            }
        }
        protected void LoadData(bool compare)
        {
            CreateWaitDialog("正在查询职级信息...", "请稍等");

            //如果比较
            if (compare)
            {
                grade_list_opposite = AdjustJobGrade.GetAdjustJobGradeList(salary_plan, year, sntype, false, !isCheck);
            }
            grade_list = AdjustJobGrade.GetAdjustJobGradeList(salary_plan, year, sntype, true, isCheck);
            //初始化
            foreach (AdjustJobGrade item in grade_list)
            {
                if (item.平均工资 == "0")
                {
                    UpdateRankSalary(item);
                }
            }

            SetWaitDialogCaption("正在加载数据...");

            gridControl1.DataSource = grade_list;
            SetMonthlySalaryColumnInfo();

            showDifferent = compare;

            CloseWaitDialog();
        }
        private void gridView1_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
        {
            if (showDifferent == false)
            {
                return;
            }

            if (e.Column.FieldName != "调整金额")
            {
                return;
            }

            e.Appearance.ForeColor = Color.Black;
            e.Appearance.BackColor = Color.Transparent;

            AdjustJobGrade row = gridView1.GetRow(e.RowHandle) as AdjustJobGrade;

            if (row != null)
            {
                if (row.is_separator)
                {
                    return;
                }

                foreach (ModifyField field in row.内容不同的字段)
                {
                    if (field.称 == e.Column.FieldName)
                    {
                        e.Appearance.ForeColor = Color.Yellow;
                        e.Appearance.BackColor = Color.Red;
                    }
                }
            }
        }
        private void form_OnFinished(AdjustJobGrade grade, GradeSalaryAdjust gsa, List<RankSalaryStandardInput> rss_input)
        {
            int focusRowHandle = gridView1.FocusedRowHandle;

            LoadData(false);

            gridView1.FocusedRowHandle = focusRowHandle;
        }
 private void EditGradeSalaryStandard()
 {
     AdjustJobGrade row = gridView1.GetRow(gridView1.FocusedRowHandle) as AdjustJobGrade;
     if (row != null && row.is_separator == false)
     {
         EditGradeSalaryStandardForm form = new EditGradeSalaryStandardForm(row, isCheck);
         form.OnFinished += form_OnFinished;
         form.ShowDialog();
     }
 }
        private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e)
        {
            AdjustJobGrade row = gridView1.GetRow(gridView1.FocusedRowHandle) as AdjustJobGrade;

            if (row != null && row.is_separator == false)
            {
                //自动创建职级工资记录
                if (e.Column.FieldName == "调整金额")
                {
                    UpdateRankSalary(row);
                    gridControl1.RefreshDataSource();
                    gridControl1.Refresh();
                }
            }
        }
        private void UpdateRankSalary(AdjustJobGrade row)
        {
            GradeSalaryAdjust gsa = row.调整记录;
            int 级月薪 = gsa.最高工资 + gsa.级差 * 2;

            foreach (RankSalaryStandardInput rss in row.职级工资表)
            {
                if (rss.期标准 != null)
                {
                    rss.月薪 = rss.期标准.月薪 + row.调整金额;
                }
                else
                {
                    rss.月薪 = 级月薪 - gsa.级差;
                }
                rss.Save();
                级月薪 = rss.月薪;
            }
            gsa.半年调资额 = row.调整金额;
            gsa.Calculate();
            row.Refresh();
        }