Поделиться через


Практическое руководство. Просмотр отчета служб отчетов SQL Server в LightSwitch

LightSwitch не имеет встроенных функций создания отчетов, но можно использовать службы SQL Server Reporting Services для создания и просмотра отчетов из приложения LightSwitch. Отчеты отображаются в окне браузера, из которого их можно распечатать и экспортировать в несколько форматов файлов.

С помощью служб SQL Server Reporting Services можно создавать и развертывать отчеты организации, и управлять ими, а также расширять и настраивать функциональные возможности создания отчетов. Даже при отсутствии полной версии SQL Server, можно создавать отчеты с помощью RTM-версии Microsoft SQL Server2008 R2 Express with Advanced Services, которые можно загрузить бесплатно.

Просмотр отчета

  1. В окне Обозреватель решений откройте контекстное меню узла проекта Клиент и выберите команду Добавить ссылку.

  2. В диалоговом окне Добавить ссылку разверните узел Сборки, выберите узел Платформа, установите флажок System.Windows.Browser и нажмите кнопку ОК.

  3. В окне Обозреватель решений откройте контекстное меню нужного экрана и выберите команду Открыть.

  4. В конструкторе экрана разверните узел Панель команд экрана, выберите узел Добавить, затем Создать кнопку.

  5. В диалоговом окне Добавление кнопки выберите переключатель Новый метод, укажите имя создаваемой кнопки и нажмите кнопку ОК.

  6. В конструкторе экрана откройте контекстное меню новой кнопки и выберите Изменить код Execute.

  7. В окне Редактор кода добавьте следующие операторы Imports или using:

    Imports Microsoft.LightSwitch.Threading
    Imports System.Runtime.InteropServices.Automation
    
    using Microsoft.LightSwitch.Threading;
    using System.Runtime.InteropServices.Automation;
    
  8. Добавьте следующий код, открывающий отчет, заменив Uri URL-адресом отчета, а ViewReport — именем кнопки.

    Private Sub ViewReport_Execute()
        Dispatchers.Main.BeginInvoke(
            Sub()
                ' Provide the URL for the report that you want to view
                Dim uri As New Uri("https://www.contoso.com/ReportServer/Pages/ReportViewer.aspx?%2fReportName&rs:Command=Render")
    
                If (AutomationFactory.IsAvailable) Then
                    ' This is a desktop app, so shell to the default browser
                    Dim shell = AutomationFactory.CreateObject("Shell.Application")
                    shell.ShellExecute(uri.ToString)
    
                ElseIf (Not System.Windows.Application.Current.IsRunningOutOfBrowser) Then
                    ' This is a web app, so navigate to the page
                    System.Windows.Browser.HtmlPage.Window.Navigate(uri, "_blank")
                End If
            End Sub)
    End Sub
    
    private void ViewReport_Execute()
    {
    Dispatchers.Main.BeginInvoke(() =>
    {
    // Provide the URL for the report that you want to view
    Uri uri = new Uri("https://www.contoso.com/ReportServer/Pages/ReportViewer.aspx?%2fReportName&rs:Command=Render");
    
    if ((AutomationFactory.IsAvailable)) {
    // This is a desktop app, so shell to the default browser
    dynamic shell = AutomationFactory.CreateObject("Shell.Application");
    shell.ShellExecute(uri.ToString());
    
    } else if ((!System.Windows.Application.Current.IsRunningOutOfBrowser)) {
    // This is a web app, so navigate to the page
    System.Windows.Browser.HtmlPage.Window.Navigate(uri, "_blank");
    }
    });
    }
    

    Отчет открывается в новом окне браузера.

    Совет

    Можно создать URL-адрес отчета, включающий параметры отчета, пароли, формат отображения и многое другое.Дополнительные сведения см. в разделе Доступ по URL-адресу.

См. также

Другие ресурсы

Службы SQL Server Reporting Services

Службы Reporting Services в выпуске SQL Server Express with Advanced Services

Формирование отчетов и печать в LightSwitch