在Sharepoint 2010中使用ReportViewer控件展示RDLC报表
微軟的Visual studio提供了ReportViewer控件以及RDLC報表設計工具。下文主要介紹如何在Sharepoint?2010項目開發中使用ReportViewer和RDLC生成項目報表。由于Sharepoint 2010默認是禁用Session的,而RDLC報表必須啟用Session。因此在Sharepoint的站點中要使用RDLC生成報表,可以對站點的web.config進行必要的設置后再自定義報表頁面,然后通過對象模型獲取獲取數據表綁定到RDLC報表中。
 ??????? 第一步,修改Sharepoint 2010站點的Web.confg支持ReportViewer控件。
 ??????? 1.? 在<system.web>節點中添加以下設置支持Sessioon state。
<sessionState mode="InProc" timeout="60" />
 ?
??????? 2. 在<system.web>\<compilation>節點中添加ReportViewer支持
<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
 ??????? <add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
 ?
??????? 3. 在<system.web>節點中修改<pages>節點屬性enableSessionState值為true支持頁面Session state。
<pages enableSessionState="true" enableViewState="true" ... >...
??????? 4. 在<system.webServer>的<modules>節點中將<remove name="Session" />節點注釋。
<!-- <remove name="Session" /> -->
 ?
??????? 5. 在<system.webServer>的<handlers>添加ReportViewer控件支持。
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
 ?
? ? ? ? 6. 在<appSettings>里注釋下面的行:
<add key="ReportViewerMessages" value="Microsoft.SharePoint.Portal.Analytics.UI.ReportViewerMessages, Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
? ? ?
第二步,在項目中創建一個DataSet和DataTable用于綁定到RDLC報表
 ??????????
 ??????? 第三步,在項目中創建一個名為Report1.rdlc的報表(假設發布到layouts\CooperTiers.TnE目錄),并綁定到上步創建的數據源
 ??????????
 ??????? 第四步,創建一個用戶控件或頁面部件添加ReportViewer注冊和控件,并通過代碼加載Report1.rdlc報表
 ?????????? HTML源碼
 ????????
???????? C#源碼
 ??????????
 ??????? 第五步,發布Sharepoint 項目,訪問相應的用戶控件或Web部件頁面,頁面預覽如下圖
 ??????????
總結
以上是生活随笔為你收集整理的在Sharepoint 2010中使用ReportViewer控件展示RDLC报表的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 高考完了买个啥手机?2022上半年300
- 下一篇: 第十九节: 结合【表达式目录树】来封装E
