reporting services 中如何对数据进行分页合计?
我是用reporting services来做报表,我现在要做报表的页合计,我在网络上面看了很多做页合计的方法,但是都是在水晶报表里面实现的,水晶报表提供的参数是reporting services没有的,所以请高手指点下,怎么在reporting services的报表里面做页合计!立马给分!
------解决方案--------------------顶哈!~
------解决方案--------------------本来两个东西就不是很一样嘛,reporting services的分页合计好像直接是取不到的
除非你在外部以参数的形式将页数传进去
------解决方案--------------------
需要用到report code. 设定一个变量保存合计
在每行(最好有一个隐藏列)的expression中里调用一个函数 这个函数把当前的单元格的值加到那个合计变量里
在footer里调用另一个函数 这个函数返回合计变量并把它清零
现在的问题是body和footer使用不同函数域 它们会分别计数 所以body里计算的结果反映不到footer里 正在想办法 当前的效果 第一列和最后一列是使用了report code的
RowIndex Company Name Contact Name Contact Title Quantity
1 Vins et alcools Chevalier Paul Henriot Accounting Manager 12 12
2 Vins et alcools Chevalier Paul Henriot Accounting Manager 10 22
3 Vins et alcools Chevalier Paul Henriot Accounting Manager 5 27
4 Toms Spezialitäten Karin Josephs Marketing Manager 9 36
5 Toms Spezialitäten Karin Josephs Marketing Manager 40 76
6 Hanari Carnes Mario Pontes Accounting Manager 10 86
7 Hanari Carnes Mario Pontes Accounting Manager 35 121
8 Hanari Carnes Mario Pontes Accounting Manager 15 136
9 Victuailles en stock Mary Saveley Sales Agent 6 142
10 Victuailles en stock Mary Saveley Sales Agent 15 157
------解决方案--------------------
搞定 使用静态变量即可
public shared Dim _rowCount As Int32=0
public shared Dim _sum as Int32=0
public Function AddToRowCount() as Int32
_rowCount = _rowCount + 1
return _rowCount
End Function
public Function AddToSum(ByVal quantity as Int32) as Int32
_sum+=quantity
return quantity
End Function
public function GetSum() as Int32
Dim currentSum= _sum
_sum=0
return currentSum
end function
public Function GetCurrentCountAndReset() As Int32
Dim currentRowCount = _rowCount
_rowCount = 0
Return currentRowCount
End Function
步骤如上 如果计算行数使用一个隐藏列调用AddToRowCount 如果计算合计就使用AddToSum 不同的列得使用不同的变量存储 在Footer调用GetCurrentCountAndReset和GetSum
结贴吧