Er *_*ank 2 .net c# vb.net rdlc winforms
我有一个带有6列和一个数据集的Rdlc报告中的表。一个dll被添加(引用)到报告中,名为RepHlpr.dll。该dll有一个共享函数GetPar,该函数可以从其他数据库计算和获取数据。列数量工作正常,并根据表达式As获取数据:
在获得铜和HP的总和时,一切正常,因为这些列从数据集中获取值。
我在获取金额总和时遇到问题。我已经尝试过Expressions:
=Sum(Textbox44.Value)
=Sum(ReportItems!Textbox44.Value)
=Sum(Table1.Textbox44.Value)
Run Code Online (Sandbox Code Playgroud)
但是其显示的错误:Textbox48(上面的表达式已编码在其中)在报表项上使用了聚合函数。汇总功能只能用于页面页眉和页脚中包含的报表项。
有什么方法可以获取列金额总和?
您可以将Sum应用于该文本框的公式,而不是尝试将其应用于文本框的值:
=Sum(Code.YourMethod(Fields!Filed1.Value, Fields!Filed2, otherParam), "YourDataSetName")
Run Code Online (Sandbox Code Playgroud)
例如,如果您的报告数据集的名称为 "DataSet1"
Sum(RepHlpr.RepHlpr.GetPar("Amt", Fields!hp.Value, Fields!make.Value), "DataSet1")
Run Code Online (Sandbox Code Playgroud)
例
我创建了一个Code函数:
Public Function Multiply(ByVal value As Integer, factor As Integer) As Integer
Return value * factor
End Function
Run Code Online (Sandbox Code Playgroud)
然后,为没有数据绑定的额外列设置表达式:
=Code.Multiply(Fields!Price.Value, 2)
Run Code Online (Sandbox Code Playgroud)
然后我添加了一个,TextBox并Sum根据我的自定义列表达式设置了其表达式:
=Sum(Code.Multiply(Fields!Price.Value, 2), "DataSet1")
Run Code Online (Sandbox Code Playgroud)
这是屏幕截图:
| 归档时间: |
|
| 查看次数: |
28213 次 |
| 最近记录: |