一列总和与另一列和的百分比计算显示在footer

 

//不支持分组,只计算表格在footer的百分比。

//汇总的百分比
private void gridView2_Layout(object sender, System.EventArgs e)
{
//总目标金额
double TargetAmt=this.colTargetAmt.SummaryItem.SummaryValue==DBNull.Value?0:Convert.ToInt64(this.colTargetAmt.SummaryItem.SummaryValue);
//总订货金额
double Amt=this.colAmt.SummaryItem.SummaryValue==DBNull.Value?0:Convert.ToInt64(colAmt.SummaryItem.SummaryValue);

//总目标数量
// double TargetQtyI=gridCol_TargetQtyI .SummaryItem.SummaryValue==DBNull.Value?0:Convert.ToInt64(gridCol_TargetQtyI.SummaryItem.SummaryValue);
// //总订货数量
// double QtyI=gridCol_QtyI.SummaryItem.SummaryValue==DBNull.Value?0:Convert.ToInt64(gridCol_QtyI.SummaryItem.SummaryValue);

double AmtAccom = TargetAmt==0?100:(Amt/(TargetAmt*1.0))*100;
// double AmtQtyI = TargetQtyI==0?100:(QtyI/(TargetQtyI*1.0))*100;
this.colAmtAccom.SummaryItem.DisplayFormat = AmtAccom.ToString("0.00")+"%";
}

 

//分组的百分比
private void gridView2_CustomDrawRowFooterCell(object sender, DevExpress.XtraGrid.Views.Grid.FooterCellCustomDrawEventArgs e)
{

if(e.Column==this.colAmtAccom)
{

string strtmp =this.gridView2.GetRowFooterCellText(e.RowHandle,this.colTargetAmt);
double TargetAmt=this.gridView2.GetRowFooterCellText(e.RowHandle,this.colTargetAmt)==""?0:Convert.ToDouble(this.gridView2.GetRowFooterCellText(e.RowHandle,this.colTargetAmt));
double Amt=this.gridView2.GetRowFooterCellText(e.RowHandle,this.colAmt)==""?0:Convert.ToDouble(this.gridView2.GetRowFooterCellText(e.RowHandle,this.colAmt));
double AmtAccom = TargetAmt==0?100:System.Math.Round((Amt/(TargetAmt*1.0))*100,2);
e.Info.DisplayText=AmtAccom.ToString()+"%";
}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值