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; } } } }
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(); }