码迷,mamicode.com
首页 > 其他好文 > 详细

PivotGridField 中对Unbound的列赋值(除法)

时间:2014-10-22 10:55:38      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:io   os   ar   for   sp   on   代码   bs   ef   

.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);//显示为百分数的形式

             }         

}

PivotGridField 中对Unbound的列赋值(除法)

标签:io   os   ar   for   sp   on   代码   bs   ef   

原文地址:http://www.cnblogs.com/shirley-w/p/4042391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!