SVN-Revision: r627
This commit is contained in:
tdx
2025-05-22 13:41:54 +00:00
parent 7acac9db1a
commit b6ca6c14da
+60 -1
View File
@@ -8335,6 +8335,7 @@ namespace Lskj.Control
try
{
this.gridControl.BeginUpdate();
this.gridView.CellValueChanged -= onCellValueChanged;//生成计划颜色判断事件
foreach (GridColumn gridColumn in this.gridView.Columns)
{
@@ -8359,4 +8360,62 @@ namespace Lskj.Control
//新建汇总
if (dataRow != null)
{
GridColum
GridColumnSummaryItem sumItemNew = new GridColumnSummaryItem();
sumItemNew.SummaryType = DevExpress.Data.SummaryItemType.Max;
//传进来的行有值就以插入的为准,否则为空
sumItemNew.DisplayFormat = dataRow.Table.Columns.Contains(gridColumn.FieldName) ? dataRow[gridColumn.FieldName] + "" : " ";
//按顺序添加汇总
gridColumn.Summary.Add(sumItemNew);
}
gridColumn.Summary.Add(sumItem);
}
}
jhrowitem = dataRow;
if(jhrowitem!=null)
{
this.gridView.CellValueChanged += onCellValueChanged;//生成计划颜色判断事件
}
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex, Model.ModuleCode);
MessageUtil.Show(Message, ex.Message);
}
finally
{
this.gridControl.EndUpdate();
}
}
/// <summary>
/// 值改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void onCellValueChanged(object sender, CellValueChangedEventArgs e)
{
// 只关心日期列;否则就直接 return
if (!DateTime.TryParse(e.Column.FieldName, out _))
return;
// 更新标题颜色(只花几毫秒)
RefreshHeaderColor();
}
/// <summary>
/// 计划颜色变更操作:
/// 只要【列合计 Sum】与计划值不相等,即把整列背景改为浅黄
/// </summary>
/// <summary>根据“列 Sum 与计划值是否相等”刷新列标题字体颜色</summary>
public void RefreshHeaderColor()
{
if (jhrowitem == null) return;
// 更新 Summary,确保拿到最新合计
gridView.UpdateSummary();
foreach (GridColumn col in gridView.Columns)
{
// 只处理列名可解析成日期的列
if (!DateTime.TryParse(col.FieldName, out _))