你们中有人知道是否可能,以及如何以编程方式设置报表查看器的报表语言?
例如,这样的事情:
var reportviewer = new ReportViewer();
reportViewer.LocalReport.Language = CultureInfo.CurrentUICulture;
或者更具体地说,是否可以将报告语言设置为自定义文化以及如何设置?
最佳答案
这并不是特别适用于 ReportViewer,但如果您以编程方式 (.rdlc) 创建本地报告,则无需更改用户文化。打开 rdlc 报告并在报告的属性中将“语言”属性设置为您选择的参数,例如
=Parameters!ReportLanguage.Value
不幸的是,您不能将此属性设置为数据集字段(至少在 Visual Studio 2013 中不是)
在 ReportData 屏幕 (Ctrl + ALT + D) 中,创建一个名为“ReportLanguage”的参数。您只需要设置名称,不需要添加任何额外的细节。
在报告的文本框中,设置 FormatCurrency 表达式
=FormatCurrency(Fields!UnitPrice.Value, 2)
这会将文本框值的货币格式化为报告的语言(至小数点后 2 位)
现在在生成报告的代码 (C#) 中,设置 ReportLanguage 参数
LocalReport localReport = new LocalReport();
localReport.ReportPath = pathToMyRdlcFile;
localReport.SetParameters(new ReportParameter("ReportLanguage", "en-GB"));
生成报告时,“en-GB”会给你一个英镑符号,但你可以使用“fr-FR”或类似的符号来获得欧元符号。
实际上,您可以用函数替换硬编码的“en-GB”。
希望这可以帮助。
关于reportviewer - 如何以编程方式设置报告查看器的报告语言?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24898858/