导出为PDF时,货币将消失
当我将报表导出为pdf时,货币消失 代码如下:导出为PDF时,货币将消失,pdf,reporting-services,format,report,currency,Pdf,Reporting Services,Format,Report,Currency,当我将报表导出为pdf时,货币消失 代码如下: <TextRun> <Value>=Fields!dTransactionAmount.Value</Value> <Style>
<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 ```
=字段!DTTransactionAmount.Value
塔荷马
9磅
=Code.getChargeCurrency()
公共共享函数getChargeCurrency()作为字符串
如果不是chargeNum=invoiceNumber,则
currency=“$”,0.00;(“$”,0.00)
其他的
currency=“#,0.00;(#,0.00)”
如果结束
chargeNum=发票编号
返回货币
结束函数“`”
没有答案,但我猜
如果您通过url直接呈现到PDF,那么它可以工作吗?使用如下url测试它
http://myReportServer/ReportServer?/myReportName&rs:Format=PDF
如果这样做有效,那么我怀疑在渲染到屏幕时该变量已被设置,因此在渲染到PDF时chargenum已=invoicenumber
我对您的情况了解不够,无法知道最佳解决方案是什么,但您可以尝试将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
如果chargeNum invoiceNumber和lastRenderFormat currentRenderFormat,则
currency=“$”,0.00;(“$”,0.00)
其他的
currency=“#,0.00;(#,0.00)”
如果结束
chargeNum=发票编号
lastRenderFormat=currentRenderFormat
Hi,我对SSRS报告非常陌生。这是否意味着,当我导出为PDF时,它会重新加载/运行报告?这有意义吗?我想它只是翻译成PDF。没错。它使用缓存的数据,但会再次呈现所有数据。在屏幕上查看时,可以将其视为“呈现为HTML”。如果需要另一种格式,它必须使用不同的渲染器并重新启动。如果您是新手,我可以假设您从其他开发人员那里继承了此报告吗?是和否,我正在重新开发它,但这部分代码已经是我的。我现在要睡觉了,现在是凌晨1点,但我想知道最初是什么设置chargenum变量的。似乎您可以使用format属性中的一个简单表达式来实现这一点,但我不确定您的数据集中有哪些数据,或者变量是如何设置的,等等。谢谢!我刚从一开始就将chargenum设置为0。它就像一个柜台