找回密码
 立即注册

QQ登录

只需一步,快速开始

虾仔猫

注册会员

11

主题

32

帖子

97

积分

注册会员

积分
97
虾仔猫
注册会员   /  发表于:2016-8-5 17:00  /   查看:3045  /  回复:1
GroupFooter里面有三个合计,分别是对明细里面的字段的求和
假设明细里面有三个A,B,C散列,GroupFooter里面有“合计1”,“合计2”和“合计3” 三个字段

合计1 =SUM(A=1 B=1 的时候C的值)
合计2 =SUM(A=1 B=2 的时候C的值)
合计3 =SUM(A=1 B=3 的时候C的值)

即实现以下效果

A  B  C
1  1  4
1  1  5
1  2  3
1  2  4
1  3  2
1  3  3

合计1 :9              合计2 :7         合计3 : 5
谢谢大家哦(是区域报表不是页面报表的哦)

1 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-8-8 16:38:52
沙发
您好,这个功能可以通过区域报表的脚本来控制,选择脚本选项卡,实现明细的Format事件。



详细请见附件(下载之后请修改数据源路径):



  1. int TotalA=0;

  2. int TotalB = 0;

  3. int TotalC = 0;

  4. public void 明细_Format()
  5. {
  6.         if(rpt.Fields["A"].Value.ToString() == "1" && rpt.Fields["B"].Value.ToString() == "1" )
  7.                
  8.         {        int temp = Convert.ToInt32(rpt.Fields["C"].Value.ToString());
  9.           
  10.                 TotalA += temp;
  11.                
  12.                 this.TextBox2.Text = TotalA.ToString();
  13.         }
  14.        
  15.        
  16.        
  17.         if(rpt.Fields["A"].Value.ToString() == "1" && rpt.Fields["B"].Value.ToString() == "2" )

  18.         {        int tempB = Convert.ToInt32(rpt.Fields["C"].Value.ToString());
  19.           
  20.                 TotalB += tempB;
  21.                
  22.                 this.TextBox3.Text = TotalB.ToString();
  23.         }
  24.                
  25.                 if(rpt.Fields["A"].Value.ToString() == "1" && rpt.Fields["B"].Value.ToString() == "3" )
  26.         {       
  27.        
  28.                 int tempC = Convert.ToInt32(rpt.Fields["C"].Value.ToString());
  29.           
  30.                 TotalC += tempC;
  31.                
  32.                 this.TextBox5.Text = TotalC.ToString();
  33.         }
  34.        

  35.        
  36. }


复制代码






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部