2015-10-17 157 views
1

我在RDlc报告中有6个列和数据集的表。将一个dll添加(引用)到名为RepHlpr.dll的报告中。这个DLL有一个共享功能GetPar它计算并从其他数据库获取数据。列金额工作正常,并获取数据按表达式,如:
表中的列值总和 - Rdlc报告

Expression Value of Column

尽管取得HP的总和,一切都因为这些列从数据集中获取值正常工作。
我得到的问题得到总和值为金额。我试图表现形式:

=Sum(Textbox44.Value) 
=Sum(ReportItems!Textbox44.Value) 
=Sum(Table1.Textbox44.Value) 

Sum Of Amount Column


但其示出了错误:Textbox48(其中上述表达式是编码)上的报告项使用聚合函数。聚合函数只能用于页眉和页脚中包含的报告项目。
有什么办法可以得到Sum of Column 金额

+0

你需要= Sum(Fields!Amount.Value,“DataSet1”)? –

+0

没有字段名称金额 –

+0

金额栏根据HP和Make制造3相电动机。我没有编码RepHlpr.dll –

回答

3

您可以在该文本框,而不是试图把它在文本框的值的公式适用于总:

=Sum(Code.YourMethod(Fields!Filed1.Value, Fields!Filed2, otherParam), "YourDataSetName") 

例如,如果您的报表数据集的名称是"DataSet1"

Sum(RepHlpr.RepHlpr.GetPar("Amt", Fields!hp.Value, Fields!make.Value), "DataSet1") 

我创建了一个Code功能:

Public Function Multiply(ByVal value As Integer, factor As Integer) As Integer 
    Return value * factor 
End Function 

然后我设置表达我的额外列未绑定数据:

=Code.Multiply(Fields!Price.Value, 2) 

于是我加了一个TextBox并设置基于我的自定义列表达其Sum表达:

=Sum(Code.Multiply(Fields!Price.Value, 2), "DataSet1") 

这里是屏幕截图:

enter image description here

+0

为什么我们不能这样做 = Sum(ReportItems!Textbox44.Value)? –

+1

我认为,因为'Textbox44'不是您的'DataSet1'的成员,并且这些聚合函数可能仅适用于您的数据集的字段。 –