2015-10-17 158 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'的成員,並且這些聚合函數可能僅適用於您的數據集的字段。 –