Язык интерфейса в программе просмотра отчетов - PullRequest
0 голосов
/ 08 июля 2019

Я использую Reportviewer для просмотра отчетов в приложении ASP.NET MVC. Культура моей системы и браузера - французская. Когда я открываю отчет в Visual Studio или непосредственно с сервера (в браузере), интерфейс отображается на французском языке. Но когда я использую Reportviewer, интерфейс на английском языке. Как я могу получить это по-французски?

Я попытался настроить французскую культуру страницы следующим образом:

(`UICulture="fr-FR"`)

или культура сборки от нейтральной до автоматической, например:

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=auto`...

но без результатов.

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
String reportFolder = System.Configuration.ConfigurationManager.AppSettings["SSRSReportsFolder"].ToString();

rvSiteMapping.Height = Unit.Pixel(Convert.ToInt32(Request["Height"]) - 58);
rvSiteMapping.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;

rvSiteMapping.ServerReport.ReportServerUrl = new Uri("http://server/PREPROD/"); 
rvSiteMapping.ServerReport.ReportPath = String.Format("/{0}/{1}", reportFolder, Request["ReportName"].ToString());

rvSiteMapping.ServerReport.Refresh();

1 Ответ

0 голосов
/ 08 июля 2019

Я пытаюсь решить эту проблему, следуя этому сообщению: https://devillers.nl/blog/localizing-microsoft-reportviewer/

Идея состоит в том, чтобы реализовать некоторые интерфейсы, подобные этому:

 public class FrenchReportViewerMessages : IReportViewerMessages, IReportViewerMessages2, IReportViewerMessages3
    {
        #region IReportViewerMessages Members

        // English value: Back to Parent Report
        public string BackButtonToolTip
        {
            get { return "Terug naar het vorige rapport"; }
        }
...

И добавление следующего в мой web.config:

<add key="ReportViewerMessages" value="FrenchReportViewerMessages, MyAssembly" />

Кажется, это решение, но теперь я получаю сообщение об ошибке: Тип 'FrenchReportViewerMessages, MyAssembly' не найден

...