Grid++报表的占列分组不重复求和

业务:求得主合同部门小计和总计

第一步:

添加参数

第二步:初始化参数

脚本写在  报表主对象的  开始处理脚本

脚本如下:

Report.ParameterByName("Sum主合同价款").AsFloat = 0;
Report.ParameterByName("Sum主合同到款").AsFloat = 0;
Report.ParameterByName("Sum主合同欠款").AsFloat = 0;
Report.ParameterByName("Sum运作成本").AsFloat = 0;
Report.ParameterByName("Sum主合同价款").AsFloat = 0;
Report.ParameterByName("Sum毛利").AsFloat = 0; 
Report.ParameterByName("Sum").AsInteger = 0; 
Report.ParameterByName("Sum主合同价款a").AsFloat = 0;
Report.ParameterByName("Sum主合同到款a").AsFloat = 0;
Report.ParameterByName("Sum主合同欠款a").AsFloat = 0;
Report.ParameterByName("Sum运作成本a").AsFloat = 0;
Report.ParameterByName("Sum主合同价款a").AsFloat = 0;

 

 

第三步:在占列式分组的  写   分组开始脚本

脚本如下:

var a = Report.ParameterByName("Sum主合同价款");
var b = Report.ParameterByName("Sum主合同到款");
var c = Report.ParameterByName("Sum主合同欠款");
var d = Report.ParameterByName("Sum运作成本");
var e = Report.ParameterByName("Sum毛利"); 
var f = Report.ParameterByName("Sum");

var aa = Report.ParameterByName("Sum主合同价款a");
var ba = Report.ParameterByName("Sum主合同到款a");
var ca = Report.ParameterByName("Sum主合同欠款a");
var da = Report.ParameterByName("Sum运作成本a");
var ea = Report.ParameterByName("Sum毛利a");

var x = Report.ParameterByName("项目管理部门ID"); 
var y = Report.ParameterByName("Sum项目管理部门");
if(x.AsString!=Report.FieldByName("项目管理部门ID").AsString)
{
a.AsFloat=0.00;
b.AsFloat=0.00;
c.AsFloat=0.00;
d.AsFloat=0.00;
e.AsFloat=0.00;
f. AsInteger=f. AsInteger+1;
}
x.AsString= Report.FieldByName("项目管理部门ID").AsString;
y.AsString= Report.FieldByName("项目管理部门").AsString+"(小计)";
a.AsFloat = a.AsFloat + Report.FieldByName("主合同价款").AsFloat;
b.AsFloat = b.AsFloat + Report.FieldByName("主合同到款").AsFloat;
c.AsFloat = c.AsFloat + Report.FieldByName("主合同欠款").AsFloat;
d.AsFloat = d.AsFloat + Report.FieldByName("运作成本").AsFloat;
e.AsFloat = e.AsFloat + Report.FieldByName("毛利").AsFloat;

aa.AsFloat = aa.AsFloat + Report.FieldByName("主合同价款").AsFloat;
ba.AsFloat = ba.AsFloat + Report.FieldByName("主合同到款").AsFloat;
ca.AsFloat = ca.AsFloat + Report.FieldByName("主合同欠款").AsFloat;
da.AsFloat = da.AsFloat + Report.FieldByName("运作成本").AsFloat;
ea.AsFloat = ea.AsFloat + Report.FieldByName("毛利").AsFloat;
ParameterByName()依据参数名字获得对象
FieldByName()    依据字段名字获得对象

 

第四步:在分组尾  添加静态框 绑定参数

posted @ 2014-01-07 20:36  我的名字很长很长  阅读(704)  评论(0)    收藏  举报