如何:在 LightSwitch 中檢視 SQL Server Reporting Services 報表

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

LightSwitch 沒有內建的報告功能,但是您可以使用 SQL Server Reporting Services,從 LightSwitch 應用程式建立並檢視報表。 報表會顯示在瀏覽器視窗,您可以從中列印和匯出至數個檔案格式。

您可以使用 SQL Server Reporting Services 建立、部署及管理組織的報告,也可以使用各種程式設計功能擴充和自訂報告功能。 即使您沒有 SQL Server 完整版本,您仍然可以使用可免費下載的 SQL Server Express with Advanced Services 中的 Reporting Services 來建立報表。

若要檢視報表

  1. 在 [方案總管] 中,開啟 [用戶端] 專案節點的捷徑功能表,然後選擇 [加入參考]。

  2. 在 [加入參考] 對話方塊中,展開 [組件] 節點,選擇 [Framework] 節點,選取 [System.Windows.Browser] 核取方塊,然後選擇 [確定] 按鈕。

  3. 在 [方案總管] 中,開啟螢幕的捷徑功能表,然後選擇 [開啟]。

  4. 在螢幕設計工具中,展開 [螢幕命令列] 節點,選擇 [加入],然後選擇 [新增按鈕]。

  5. 在 [加入按鈕] 對話方塊中,選擇 [新增方法] 選項按鈕,為您要建立的按鈕命名,然後選擇 [確定] 按鈕。

  6. 在螢幕設計工具中,開啟新按鈕的捷徑功能表,然後選擇 [編輯 Execute 程式碼]。

  7. 在 [程式碼編輯器] 中,加入下列 [Imports] 或 [using] 陳述式:

    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("http://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("http://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");  
    }  
    });  
    }  
    
    

    此報表隨即顯示在新的瀏覽器視窗中。

    System_CAPS_ICON_tip.jpg 提示

    您可以為包含報告參數,密碼,呈現格式等的報告建構 URL。 如需詳細資訊,請參閱 URL 存取

SQL Server Reporting Services
SQL Server Express with Advanced Services 中的 Reporting Services
在 LightSwitch 中建立報表及列印

顯示: