问题描述
当我将报告导出为pdf时,货币消失了。
代码如下:
<TextRun>
<Value>=Fields!dTransactionAmount.Value</Value>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>9pt</FontSize>
<Format>=Code.getChargeCurrency()</Format>
</Style>
</TextRun>
</TextRuns>
Public Shared Function getChargeCurrency() As string
if NOT chargeNum = invoiceNumber then
currency ="'$'#,0.00;('$'#,0.00)"
else
currency="#,0.00;(#,0.00)"
end if
chargeNum = invoiceNumber
Return currency
End Function ```
解决方法
除了回答外,还没有答案。
如果您通过URL直接渲染为PDF,那么它可以工作吗?使用类似
的网址进行测试http://myReportServer/ReportServer?/myReportName&rs:Format=PDF
如果这行得通,那么我怀疑在渲染到屏幕时会设置该变量,因此当您渲染到PDF时,chargenum已经是=发票编号。
对于您的情况,我还不太了解,最好的解决方案是什么,但是您可以尝试将Globals.RenderFormat
值存储在变量中,并在检查其他两个变量时检查是否未更改变量已更改。
类似...
if chargeNum <> invoiceNumber AND lastRenderFormat <> currentRenderFormat then
currency ="'$'#,0.00;('$'#,0.00)"
else
currency="#,0.00;(#,0.00)"
end if
chargeNum = invoiceNumber
lastRenderFormat = currentRenderFormat