我在Rdlc报告中有一个包含6列和数据集的表。将一个dll添加(引用)到报告,名为RepHlpr.dll。这个dll有一个共享函数 GetPar ,它可以计算并从其他数据库中获取数据。列 Amount 正常工作并按表达式获取数据,As:
获取 Copper 和 HP 的总和时,一切正常,因为这些列从数据集中获取值。
我得到金额的总和的问题。我试过表达式:
=Sum(Textbox44.Value)
=Sum(ReportItems!Textbox44.Value)
=Sum(Table1.Textbox44.Value)
但它显示错误:Textbox48(其中上面的表达式已编码)在报表项上使用聚合函数。聚合函数只能用于页眉和页脚中包含的报表项。
有没有办法获得列的总和金额?
答案 0 :(得分:4)
您可以对该文本框的公式应用Sum,而不是尝试将其应用于textbox的值:
=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")
以下是截图:
答案 1 :(得分:0)
右键单击表单击插入行 - >外部组-below 右键单击要取总和的列转到表达式。 在类别中选择常用功能 - >聚合然后双击项目中的总和,现在双击值中的选择字段(dataset1)双击要取总和的列。现在在顶部。 = SUM(CDEC(领域!salary.Value)) 其中,salary是数据库中的列名。但是cdec手动添加。