用Reporting Service做折线图,想再搞个值累加的字段,怎么都搞不出。Google了一下,找到了几篇文章,更改一下,以备后用:
环境:reporting Service2008 / VS2005
第一种方法(不推荐):
在报表的属性里,打开代码面板,键入以下代码:
public shared Dim _sum as Decimal=0
public Function AddToSum(ByVal quantity as Decimal) as Decimal
_sum+=quantity
return _sum
End Function
然后在新建一个计算字段,输入: =Code.AddToSum(Fields!Quantity.Value) ,拖入Y轴即可。
此方法在reporting Service里面demo是没问题的,但是如果嵌入到.net中,数值会持续叠加。就是说,每按一次Button,增量会在之前的基础上再加一倍。不推荐使用。
第二种方法:
报表:在栏位中加入一个表达式:=runningvalue(Fields!rptCount.Value,sum,nothing)
图表:随便拖入一个数据字段到Y轴,将序列属性的值字段的表达式改为:=runningvalue(Fields!rptCount.Value,sum,nothing)
运行一下,即可。
参考文章:http://www.cnblogs.com/si812cn/archive/2008/10/16/1312517.html
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20070726110924RSP&fumcde=FUM20041006152735ZFS