viru mayu Ответов: 1

Проблемы с высоким разрешением с помощью SSRS (средство просмотра отчетов Microsoft )


У меня есть приложение Winforms (в Visual Studio 2015) , которое содержит элемент управления Microsoft Report Viewer, который просматривает и печатает отчет.

У одного пользователя есть монитор с разрешением 4K, и когда он запускает отчет, он сжимается до 2/3 размера в элементе управления microsoft report viewer.

когда я пытаюсь экспортировать этот отчет в PDf, он выглядит правильно.

Свойство AutoScaleMode формы, содержащей Средство просмотра отчетов Microsoft, имеет значение "шрифт", хотя оно, похоже, не повлияет на Средство просмотра отчетов, если я его изменю.

Мне нужен какой-то способ указать в самом элементе управления средства просмотра отчетов, что он должен отображаться с разрешением 96dpi независимо от настройки системного dpi. Есть ли какой-нибудь способ полностью заполнить мою цель?

Что я уже пробовал:

Я добавил приведенный ниже код в файл манифеста моего приложения, но я не мог работать для меня.

&ЛТ;asmv3:описание применение:asmv3="урна:схим-Майкрософт-com:АСМ.В3" и GT;
&ЛТ;asmv3:Windows Параметры атрибутов xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"&ГТ;
<dpiAware>true</dpiAware>
&ЛТ;/asmv3:Windows Параметры и GT;
</asmv3:применение>

viru mayu

Я использую локальный отчет (.rdlc) вместо серверного отчета, и вы просто даете мне код для создания отчета, но у меня есть проблема с масштабированием в разрешении 4k, и мне нужно решение для этой проблемы

1 Ответов

Рейтинг:
0

DavidCorbin_1978

public partial class Form1 : Form  
{  
    private void Form1_Load(object sender, EventArgs e)  
    {  
        // Set the processing mode for the ReportViewer to Remote  
        reportViewer1.ProcessingMode = ProcessingMode.Remote;  

        ServerReport serverReport = reportViewer1.ServerReport;  

        // Get a reference to the default credentials  
        System.Net.ICredentials credentials =  
            System.Net.CredentialCache.DefaultCredentials;  

        // Get a reference to the report server credentials  
        ReportServerCredentials rsCredentials =  
            serverReport.ReportServerCredentials;  

        // Set the credentials for the server report  
        rsCredentials.NetworkCredentials = credentials;  

        // Set the report server URL and report path  
        serverReport.ReportServerUrl =   
            new Uri("http:// <Server Name>/reportserver");  
        serverReport.ReportPath =   
            "/AdventureWorks Sample Reports/Sales Order Detail";  

        // Create the sales order number report parameter  
        ReportParameter salesOrderNumber = new ReportParameter();  
        salesOrderNumber.Name = "SalesOrderNumber";  
        salesOrderNumber.Values.Add("SO43661");  

        // Set the report parameters for the report  
        reportViewer1.ServerReport.SetParameters(  
            new ReportParameter[] { salesOrderNumber });  

        // Refresh the report  
        reportViewer1.RefreshReport();  
    }  
}