zoukankan      html  css  js  c++  java
  • PivotGridField 中对Unbound的列赋值(除法)

     此方法也可以同时对CustomSummaryCalculate的百分比计算有效

    .aspx中<Fields>内的代码:

    <dx:PivotGridField ID="field_corr" Area="DataArea" AreaIndex="0"  FieldName="诊断符合数" ValueFormat-FormatType="Numeric" Caption="诊断符合数"> </dx:PivotGridField>
    <dx:PivotGridField ID="field_Sum" Area="DataArea" AreaIndex="1"  FieldName="诊断总数"  Caption="诊断总数"></dx:PivotGridField>
    <dx:PivotGridField ID="field_compare" Area="DataArea" AreaIndex="2"   FieldName=""   UnboundType="Decimal"  Caption="诊断符合率" SummaryType="Custom">  </dx:PivotGridField>

    其中诊断符合率=诊断符合数/诊断总数

    但是在用Unbound的前台表达式中绑定字段除法后得到的结果为0(加减乘均可以直接在前台表达式UnboundExpression中赋值)

    除法需要在后台绑定OnCustomCellDisplayText事件:OnCustomCellDisplayText="pivotGrid_CustomCellDisplayText"

    .cs

    protected void pivotGrid_CustomCellDisplayText(object sender, PivotCellDisplayTextEventArgs e)          {             

        if (object.ReferenceEquals(e.DataField, ASPxPGDiagnosticAccordanceRate.Fields["诊断符合率"]))  { //判断传的参数所在的列(每列均传递一次)

          PivotGridField corrcount = ASPxPGDiagnosticAccordanceRate.Fields["诊断符合数"];

          object Corrcount = e.GetCellValue(corrcount);

                     PivotGridField sumcount = ASPxPGDiagnosticAccordanceRate.Fields["诊断总数"];

                     object Sumcount = e.GetCellValue(sumcount);                 

          if (Sumcount == null) return;

                     decimal perc = (decimal)Corrcount / (decimal)Sumcount;//计算结果

                     e.DisplayText = string.Format("{0:p}", perc);//显示为百分数的形式

                 }         

    }

  • 相关阅读:
    python中关于with以及contextlib的使用
    Python之Redis操作
    Python操作memecache
    COM组件技术名称解释
    C++11-新增正则表达式
    BSTR与char*、cstring、CComBSTR的转换
    ATL字符宏使用以及代码测试
    获取与一个磁盘的组织以及剩余空间容量有关的信息以及代码测试
    关于cstring ->string-> const char * 用U2A一步转换 错误的内存问题
    cstring、string、wstring、int、char*、tchar、 int、dword等相互转换代码输出测试
  • 原文地址:https://www.cnblogs.com/shirley-w/p/4042391.html
Copyright © 2011-2022 走看看