虾仔猫 发表于 2016-8-5 17:00:32

区域报表字段设置

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的值)

即实现以下效果

ABC
114
115
123
124
132
133

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

Lenka.Guo 发表于 2016-8-8 16:38:52

您好,这个功能可以通过区域报表的脚本来控制,选择脚本选项卡,实现明细的Format事件。



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



int TotalA=0;

int TotalB = 0;

int TotalC = 0;

public void 明细_Format()
{
        if(rpt.Fields["A"].Value.ToString() == "1" && rpt.Fields["B"].Value.ToString() == "1" )
               
        {        int temp = Convert.ToInt32(rpt.Fields["C"].Value.ToString());
          
                TotalA += temp;
               
                this.TextBox2.Text = TotalA.ToString();
        }
       
       
       
        if(rpt.Fields["A"].Value.ToString() == "1" && rpt.Fields["B"].Value.ToString() == "2" )

        {        int tempB = Convert.ToInt32(rpt.Fields["C"].Value.ToString());
          
                TotalB += tempB;
               
                this.TextBox3.Text = TotalB.ToString();
        }
               
                if(rpt.Fields["A"].Value.ToString() == "1" && rpt.Fields["B"].Value.ToString() == "3" )
        {       
       
                int tempC = Convert.ToInt32(rpt.Fields["C"].Value.ToString());
          
                TotalC += tempC;
               
                this.TextBox5.Text = TotalC.ToString();
        }
       

       
}








页: [1]
查看完整版本: 区域报表字段设置