Condividi tramite


Procedura: visualizzare un rapporto di SQL Server Reporting Services in LightSwitch

In LightSwitch non sono disponibili funzionalità di creazione di rapporti predefinite, tuttavia è possibile utilizzare SQL Server Reporting Services per creare rapporti e visualizzarli da un'applicazione LightSwitch. I rapporti vengono visualizzati in una finestra del browser da cui è possibile stamparli ed esportarli in diversi formati di file.

È possibile creare, distribuire e gestire rapporti per l'organizzazione utilizzando SQL Server Reporting Services ed è possibile estendere e personalizzare la funzionalità di creazione rapporti tramite varie funzionalità di programmazione. Anche se non si dispone di una versione completa di SQL Server, è comunque possibile creare rapporti utilizzando Reporting Services in SQL Server Express with Advanced Services, che è possibile scaricare gratis.

Per visualizzare un rapporto

  1. In Esplora soluzioni aprire il menu di scelta rapida per il nodo del progetto Client, quindi scegliere Aggiungi riferimento.

  2. Nella finestra di dialogo Aggiungi riferimento espandere il nodo Assembly, scegliere il nodo Framework, selezionare la casella di controllo System.Windows.Browser, quindi fare clic sul pulsante OK.

  3. In Esplora soluzioni aprire il menu di scelta rapida per la propria schermata e scegliere Apri.

  4. Nella finestra di progettazione della schermata espandere il nodo Barra dei comandi schermata, scegliere il nodo Aggiungi, quindi Nuovo pulsante.

  5. Nella finestra di dialogo Aggiungi pulsante, selezionare il pulsante dell'opzione Nuovo metodo, denominare il pulsante che si sta creando, quindi scegliere il pulsante OK.

  6. Nella finestra di progettazione della schermata, aprire il menu di scelta rapida per il nuovo pulsante, quindi scegliere Modifica codice Execute.

  7. Nell' Editor di codice, aggiungere le seguentiImportazioni o istruzioni Using:

    Imports Microsoft.LightSwitch.Threading
    Imports System.Runtime.InteropServices.Automation
    
    using Microsoft.LightSwitch.Threading;
    using System.Runtime.InteropServices.Automation;
    
  8. Aggiungere il codice seguente per aprire il rapporto, sostituendo Uri con l'URL per il rapporto e sostituendo ViewReport con il nome del pulsante:

    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");
    }
    });
    }
    

    Il rapporto viene visualizzato in una nuova finestra del browser.

    Suggerimento

    È possibile creare un URL per un report che include i parametri del report, password, formato di rendering e altro ancora.Per ulteriori informazioni, vedere URL Access.

Vedere anche

Altre risorse

SQL Server Reporting Services

Reporting Services in SQL Server Express with Advanced Services

Generazione di rapporti e stampa in LightSwitch