zoukankan      html  css  js  c++  java
  • 嵌套子表(dx),如何根据从表合计数显示主表记录的颜色

    假设用dx已经构建好m/d了,主表不需要更新。
    1、在master中有一字段mysum,增加一个对照字段如ctrl_Field,其初始是detail的合计数
    2、master根据mysum和ctrl_Field的值对照改变该记录颜色。
    procedure TFormBase_PayPlan.cxgrdbtblvwGrid1DBTableView_TargetCustomDrawCell(
      Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
      AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
    var
      a_sum,b_sum : Currency;
    begin
      if VarIsNull(AViewInfo.GridRecord.Values[cxgrdbclmnGrid1DBTableView1is_sum.Index]) then
       a_sum := 0
     else
       a_sum := StrToFloat(AViewInfo.GridRecord.Values[cxgrdbclmnGrid1DBTableView1is_sum.Index]);
    
        if VarIsNull(AViewInfo.GridRecord.Values[cxgrdbclmnGrid1DBTableView1isd_sum_total.Index]) then
       b_sum := 0
     else
       b_sum := StrToFloat(AViewInfo.GridRecord.Values[cxgrdbclmnGrid1DBTableView1isd_sum_total.Index]);
    
      if   a_sum  < b_sum  then
      ACanvas.Canvas.Font.Color:= clRed;//clActiveCaption ?????????????????
    
    end;

    3、在修改数据事件中做修改ctrl_Field的处理如下,目的是修改ctrl_Field在grid中的值:

                        // 显示控制
                        i := cxgrdbtblvwGrid1DBTableView_Target.DataController.FocusedRowIndex;
                        j := cxgrdbclmnGrid1DBTableView1isd_sum_total.Index;
                        if VarIsNull(cxgrdbtblvwGrid1DBTableView_Target.DataController.Values[i,j]) then
                           cxgrdbtblvwGrid1DBTableView_Target.DataController.Values[i,j] := cxcrncydt_Sum.Value
                        else
                           cxgrdbtblvwGrid1DBTableView_Target.DataController.Values[i,j] := cxcrncydt_Sum.Value +
                              cxgrdbtblvwGrid1DBTableView_Target.DataController.Values[i,j];//增加处理
    
    { cxgrdbtblvwGrid1DBTableView_Target.DataController.Values[i,j] := cxcrncydt_Sum.Value +
                              cxgrdbtblvwGrid1DBTableView_Target.DataController.Values[i,j] - ctrl_PaySTDSun;//修改的处理}
                        //end of 显示控制
  • 相关阅读:
    java 学习之JVM深入分析(一)
    选择排序算法实现十个1100的随机数的排序
    spring基础知识概述
    mybatis 总结一
    ACM之java判断回文数
    Spring mvc框架
    C#实现窗体最小化到状态栏,双击运行时又能正常显示窗体
    Android调用相机并将照片存储到SD卡上实现方法
    c#中如何让一个窗体在另一个旁边
    C#实现获取时间
  • 原文地址:https://www.cnblogs.com/usegear/p/2612356.html
Copyright © 2011-2022 走看看