若要隱藏第一頁或最後一頁的頁首或頁尾
- 在 [配置] 檢視中,按一下頁首或頁尾。
- 在 [屬性] 視窗中,針對 [PrintonFirstPage] 或 [PrintonLastPage] 屬性,選取 [False]。
Microsoft 報表
※ Microsoft 報表 >> 報表設計工具
※ Microsoft 報表 >> ReportViewer 控制項
※ Microsoft 報表 >> Class Library
※ Microsoft 報表 >> 報表設計工具
※ Microsoft 報表 >> ReportViewer 控制項
※ Microsoft 報表 >> Class Library
D:\Download\微軟\ReportViewerSample
※ 網路爬文
◎ CodeProject sirwan mualla -- Direct print for microsoft_report (RDLC) 2014-7-16 ===> RDLC 不過是格式, 有看到讀檔但看不出來何處塞資料, 要再測才知道
◎ 信IT德永生 -- 提取 reporting 相關dll的方式-以 vs2012 為例 2012-11-7
◎ 尹相志Allan's blog -- 禁斷密技:如何讓Reporting Services報表「看」起來像Power View 2012-7-3
◎ MS Support TerryChuang -- 使用 BIDS 2008 預覽報表時,總頁數出現問號該如何解決? 2012-1-20
※ Microsoft 報表 >> 報表設計工具
1. 報表概觀
* 報表種類:自由形式, 多重資料行, 鑽研報表, 互動式報表, 簡單報表
* 報表種類:自由形式, 多重資料行, 鑽研報表, 互動式報表, 簡單報表
* 報表部份:可插入 文字方塊, 資料表, 矩陣, 圖表, 影像, 子報表, 清單, 矩形, 線條
矩陣提供類似於交叉資料表和樞紐資料表的功能
矩陣提供類似於交叉資料表和樞紐資料表的功能
* 關於報表定義檔案:RDL XML
ReportViewer 控制項會利用您定義的資料繫結來擷取資料,且會將結果集合併到報表配置中。
報表會以您正在使用之控制項的原生輸出格式來呈現。如果是 Web 伺服器控制項,輸出格式便是 HTML。
如果是 Windows Form 控制項,輸出格式便是 Graphical Device Instrumentation (GDI) 格式。
ReportViewer 控制項會利用您定義的資料繫結來擷取資料,且會將結果集合併到報表配置中。
報表會以您正在使用之控制項的原生輸出格式來呈現。如果是 Web 伺服器控制項,輸出格式便是 HTML。
如果是 Windows Form 控制項,輸出格式便是 Graphical Device Instrumentation (GDI) 格式。
2. 建立用戶端報表定義檔案 (.rdlc)
2.1 使用報表精靈建立用戶端報表定義
樣式範本:Bold, Corporate, Forest, Generic, Ocean, Slate
可編輯 \Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Private Assemblies\<語言> 資料夾內的 StyleTemplates.xml 檔案,改變範本。
樣式範本:Bold, Corporate, Forest, Generic, Ocean, Slate
可編輯 \Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Private Assemblies\<語言> 資料夾內的 StyleTemplates.xml 檔案,改變範本。
2.2 建立報表的資料來源
資料來源只要可提供 DataTable 或 可列舉的集合
- 如何加入 ReportViewer 報表的資料來源
. 將資料來源加入應用程式專案中,再設定對於基礎資料的資料連接。
. 建立資料表 [TabaleAdapter 精靈]
. 建立商務物件
資料來源只要可提供 DataTable 或 可列舉的集合
- 如何加入 ReportViewer 報表的資料來源
. 將資料來源加入應用程式專案中,再設定對於基礎資料的資料連接。
. 建立資料表 [TabaleAdapter 精靈]
. 建立商務物件
2.3 更新和重新繫結資料來源參考
* ReportViewer 控制項資料來源參考
- 利用 [ReportViewer 工作] 智慧標籤面板中的 [選擇資料來源] 工作,將資料來源繫結到從伺服器報表定義檔案 (.rdl) 轉換來的用戶端報表定義檔案 (.rdlc)。
- 利用 [ReportViewer 工作] 智慧標籤面板中的 [重新繫結資料來源] 工作,使控制項和報表定義與修改的資料集同步。
- 利用 [報表] 功能表的 [報表資料來源] 對話方塊來更新報表定義檔案所儲存的結構描述資訊。當您在圖形設計模式中編輯用戶端報表定義檔案 (.rdlc) 時,可以使用 [報表] 功能表。
* ReportViewer 控制項資料來源參考
- 利用 [ReportViewer 工作] 智慧標籤面板中的 [選擇資料來源] 工作,將資料來源繫結到從伺服器報表定義檔案 (.rdl) 轉換來的用戶端報表定義檔案 (.rdlc)。
- 利用 [ReportViewer 工作] 智慧標籤面板中的 [重新繫結資料來源] 工作,使控制項和報表定義與修改的資料集同步。
- 利用 [報表] 功能表的 [報表資料來源] 對話方塊來更新報表定義檔案所儲存的結構描述資訊。當您在圖形設計模式中編輯用戶端報表定義檔案 (.rdlc) 時,可以使用 [報表] 功能表。
* 報表定義中的資料來源參考
1. 開啟用戶端報表定義檔案 (.rdlc)
2. 選取專案資料來源,按一下[加入報表]
移除現有的資料集參考
重新命名資料集,您可以利用 [報表資料來源] 對話方塊來更新報表定義中的資料集名稱
3.按一下 [全部重新整理]
1. 開啟用戶端報表定義檔案 (.rdlc)
2. 選取專案資料來源,按一下[加入報表]
移除現有的資料集參考
重新命名資料集,您可以利用 [報表資料來源] 對話方塊來更新報表定義中的資料集名稱
3.按一下 [全部重新整理]
2.4 定義報表配置
2.4.1 加入資料區
* 加入資料表資料區域
,以建立表格式、矩陣、圖表和清單報表。
* 加入清單資料區域
* 新增矩陣資料區域
* 在報表中加入圖表
直條圖, 橫條圖, 折線圖類型, 圓形圖, XY 圖, 泡泡圖, 區域圖, 環圈圖, 股票圖
2.4.1 加入資料區
* 加入資料表資料區域
,以建立表格式、矩陣、圖表和清單報表。
* 加入清單資料區域
* 新增矩陣資料區域
* 在報表中加入圖表
直條圖, 橫條圖, 折線圖類型, 圓形圖, XY 圖, 泡泡圖, 區域圖, 環圈圖, 股票圖
2.4.2 加入文字方塊
="這是靜態文字標籤"
=Fields!UnitCost.Value
=Fields!TotalUnits.Value * Fields!UnitCost.Value
=Sum(Fields!TotalUnits.Value)
="這是靜態文字標籤"
=Fields!UnitCost.Value
=Fields!TotalUnits.Value * Fields!UnitCost.Value
=Sum(Fields!TotalUnits.Value)
* 設定文字方塊屬性
Calendar 日期要用的日曆, Direction 水平寫入方向, Language , NumeralLanguage 數字格式,NumeralVariant 數字變式, UnicodeBiDi 雙向內嵌層級
CanGrow 依內容展開文字方塊, CanShrink
Calendar 日期要用的日曆, Direction 水平寫入方向, Language , NumeralLanguage 數字格式,NumeralVariant 數字變式, UnicodeBiDi 雙向內嵌層級
CanGrow 依內容展開文字方塊, CanShrink
2.4.3 加入影像
2.4.4 加入矩形、線條和框線
2.4.4 加入矩形、線條和框線
2.4.5 加入互動性、可見性和導覽
URL, 書籤, 鑙研
URL, 書籤, 鑙研
* 文件引導模式
顯示成在報表旁的目錄, 區段和群組是依照連結的階層來安排
匯出時, PDF會將文件引導顯示成 [書籤]。Excel會顯示成階層的具名工作表。
顯示成在報表旁的目錄, 區段和群組是依照連結的階層來安排
匯出時, PDF會將文件引導顯示成 [書籤]。Excel會顯示成階層的具名工作表。
2.4.6 加入頁首和頁尾
PrintOnFirstPage, PrintOnLastPage, InteractiveHeight, InteractiveWidth, PageHeight, PageWidth
不能直接參考頁首或頁尾中之文字方塊的欄位,不能在頁首或頁尾的欄位中,使用彙總函數。
PrintOnFirstPage, PrintOnLastPage, InteractiveHeight, InteractiveWidth, PageHeight, PageWidth
不能直接參考頁首或頁尾中之文字方塊的欄位,不能在頁首或頁尾的欄位中,使用彙總函數。
* 顯示變數資料
=First(ReportItems!TXT_LastName.Value) ' 在頁首或頁尾中參考這個文字方塊
=Globals.PageNumber & " of " & Globals.TotalPages ' 頁尾通常會顯示頁碼
=ReportItems!ReportTitle.Value ' 報表標題
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d") ' 報表名稱, 產生時間戳記
=Convert.ToBase64String(Fields!Photo.Value) ' 加入影像, 須是base64編碼, 隱藏在報表主體中
=Convert.FromBase64String(ReportItems!TXT_Photo.Value)
=Sum(ReportItems!Textbox1.Value) ' 頁面總計
2.4.7 加入樣式和格式
* Color 屬性
=iif(Fields!Profit.Value < 0, "Red", "Black")
* BackgroundColor 屬性
=iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White") ' 資料表白綠相間
* Format 屬性
- 格式化數字
C 貨幣 D 十進位 E 科學記號 F 固定點 G 一般 N 數字 P 百分比 R 往返 X 十六進位
格式化字串 D0 會將數字格式化,成為小數點之後沒有位數, #,###
=First(ReportItems!TXT_LastName.Value) ' 在頁首或頁尾中參考這個文字方塊
=Globals.PageNumber & " of " & Globals.TotalPages ' 頁尾通常會顯示頁碼
=ReportItems!ReportTitle.Value ' 報表標題
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d") ' 報表名稱, 產生時間戳記
=Convert.ToBase64String(Fields!Photo.Value) ' 加入影像, 須是base64編碼, 隱藏在報表主體中
=Convert.FromBase64String(ReportItems!TXT_Photo.Value)
=Sum(ReportItems!Textbox1.Value) ' 頁面總計
2.4.7 加入樣式和格式
* Color 屬性
=iif(Fields!Profit.Value < 0, "Red", "Black")
* BackgroundColor 屬性
=iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White") ' 資料表白綠相間
* Format 屬性
- 格式化數字
C 貨幣 D 十進位 E 科學記號 F 固定點 G 一般 N 數字 P 百分比 R 往返 X 十六進位
格式化字串 D0 會將數字格式化,成為小數點之後沒有位數, #,###
- 格式化日期
d 簡短日期 D 完整日期 t 簡短時間 T 完整時間 f 詳細日期簡短時間 F 詳細日期完整時間
g 一般日期簡短時間 G 一般日期完整時間 M 月份日期 R RFC1123 Y 年度月份
自訂格式化字串;如 dd/MM/yy 格式化型別
d 簡短日期 D 完整日期 t 簡短時間 T 完整時間 f 詳細日期簡短時間 F 詳細日期完整時間
g 一般日期簡短時間 G 一般日期完整時間 M 月份日期 R RFC1123 Y 年度月份
自訂格式化字串;如 dd/MM/yy 格式化型別
2.4.8 在報表中定義報表參數
若要在執行階段提供資料值給參數,您必須撰寫傳遞值的程式碼。
在本機處理模式中,ReportViewer 控制項不會提供用來接受使用者參數值的參數區域。
您必須將欄位加入表單來取得資料值,然後再利用 SetParameters 方法,將這些值傳給 ReportViewer 控制項。
參閱 Microsoft.Reporting.WebForms.ReportParameterInfo 和 Microsoft.Reporting.WinForms.ReportParameterInfo
若要在執行階段提供資料值給參數,您必須撰寫傳遞值的程式碼。
在本機處理模式中,ReportViewer 控制項不會提供用來接受使用者參數值的參數區域。
您必須將欄位加入表單來取得資料值,然後再利用 SetParameters 方法,將這些值傳給 ReportViewer 控制項。
參閱 Microsoft.Reporting.WebForms.ReportParameterInfo 和 Microsoft.Reporting.WinForms.ReportParameterInfo
2.4.9 在報表中群組資料
可以將小計和其他運算式加入群組首和群組尾中。
在矩陣中,群組會顯示成動態資料行或資料列。
可以將群組放在其他群組內,成為巢狀結構,再加上小計。
可以將小計和其他運算式加入群組首和群組尾中。
在矩陣中,群組會顯示成動態資料行或資料列。
可以將群組放在其他群組內,成為巢狀結構,再加上小計。
- 遞迴階層 € D:\@Source\XXXWeb\MSDNReport
2.4.10 在報表中排序資料
2.4.11 HOW TO:篩選報表中的資料
2.4.12 設定子報表和鑽研報表
2.5 最佳化報表 HTML 輸出配置
2.6 在報表中使用運算式 報表中運算式的全域集合 報表的內建函式
* 一般運算式
=Today()
=DateAdd(DateInterval.Month, 6, Parameters!StartDate.Value)
* 一般運算式
=Today()
=DateAdd(DateInterval.Month, 6, Parameters!StartDate.Value)
* 字串 可使用 System.String 成員
=Format(Parameters!StartDate.Value, "D") & " through " & Format(Parameters!EndDate.Value, "D")
=Right(Parameters!User.Value, Len(Parameters!User.Value) - InStr(Parameters!User.Value, "\"))
=Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\")+1, Parameters!User.Value.Length-Parameters!User.Value.IndexOf("\")-1)
=Join(Parameters!MySelection.Value) ' 将参数 MySelection 的所选值串联到单个字符串中(多選)
=Format(Parameters!StartDate.Value, "D") & " through " & Format(Parameters!EndDate.Value, "D")
=Right(Parameters!User.Value, Len(Parameters!User.Value) - InStr(Parameters!User.Value, "\"))
=Parameters!User.Value.Substring(Parameters!User.Value.IndexOf("\")+1, Parameters!User.Value.Length-Parameters!User.Value.IndexOf("\")-1)
=Join(Parameters!MySelection.Value) ' 将参数 MySelection 的所选值串联到单个字符串中(多選)
* System.Text.RegularExpressions
=System.Text.RegularExpressions.Regex.Replace(Fields!Phone.Value, "(\d{3})[ -.]*(\d{3})[ -.]*(\d{4})", "($1) $2-$3")
=System.Text.RegularExpressions.Regex.Replace(Fields!Phone.Value, "(\d{3})[ -.]*(\d{3})[ -.]*(\d{4})", "($1) $2-$3")
* 決策
=Iif(Fields!LineTotal.Value > 100, True, False)
=Switch(Fields!PctComplete.Value >= .8, "Green", Fields!PctComplete.Value >= .5, "Amber", Fields!PctComplete.Value <.5, "Red")
=Iif(Fields!LineTotal.Value > 100, True, False)
=Switch(Fields!PctComplete.Value >= .8, "Green", Fields!PctComplete.Value >= .5, "Amber", Fields!PctComplete.Value <.5, "Red")
* 報表
=Sum(Fields!LineTotal.Value, "Order")
=RowNumber(Nothing)
=Sum(Fields!LineTotal.Value, "Order")
=RowNumber(Nothing)
* 頁首&頁尾
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
=Globals.PageNumber & " of " & Globals.TotalPages
=First(ReportItems!LastName.Value)
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
=Globals.PageNumber & " of " & Globals.TotalPages
=First(ReportItems!LastName.Value)
2.7 在報表中加入自訂程式碼
4. 報表精靈使用者介面參考
※ Microsoft 報表 >> ReportViewer 控制項
‧ ReportViewer 類別 ..WebControl 命名空間: Microsoft.Reporting.WebForms
+P
+ Attributes
+ CurrentPage : int default: 0
+ LocalReport : Report
+ ServerReport
+ ShowBackButton g/s that whether the Back button is visible on the toolbar.
+ ShowCredentialPrompts
+ ShowDocumentMapButton
+ ShowExportControls
+ ShowFindControls
+ ShowPageNavigationControls
+ ShowParameterPrompts
+ ShowPrintButton
+ ShowPromptAreaButton
+ ShowRefreshButton
+ ShowReportBody
+ ShowToolBar
+ ShowZoomControl
+ SizeToReportContent
+ ZoomMode
+ ZoomPercent
+ Attributes
+ CurrentPage : int default: 0
+ LocalReport : Report
+ ServerReport
+ ShowBackButton g/s that whether the Back button is visible on the toolbar.
+ ShowCredentialPrompts
+ ShowDocumentMapButton
+ ShowExportControls
+ ShowFindControls
+ ShowPageNavigationControls
+ ShowParameterPrompts
+ ShowPrintButton
+ ShowPromptAreaButton
+ ShowRefreshButton
+ ShowReportBody
+ ShowToolBar
+ ShowZoomControl
+ SizeToReportContent
+ ZoomMode
+ ZoomPercent
+M
+JumpToBookmark
+JumpToDocumentMapId
+PerformBack
+JumpToBookmark
+JumpToDocumentMapId
+PerformBack
+E
+ Back
+ BookmarkNavigation
+ Back
+ BookmarkNavigation
‧ Report 類別 命名空間: Microsoft.Reporting.WebForms
+P
+ DisplayName
+ DisplayName
+M
+ GetDefaultPageSettings : ReportPageSettings
+ GetDocumentMap : DocumentMapNode
+ GetParameters
+ GetTotalPages
+ ListRenderingExtensions
+ LoadReportDefinition (Stream) (TextReader)
+ Refresh
+ Render
參數
format: XML, NULL, CSV, IMAGE, PDF, HTML4.0, HTML3.2, MHTML, EXCEL, and HTMLOWC
deviceInfo
mimeType
encoding
fileNameExtension
streams
warnings
+ GetDefaultPageSettings : ReportPageSettings
+ GetDocumentMap : DocumentMapNode
+ GetParameters
+ GetTotalPages
+ ListRenderingExtensions
+ LoadReportDefinition (Stream) (TextReader)
+ Refresh
+ Render
參數
format: XML, NULL, CSV, IMAGE, PDF, HTML4.0, HTML3.2, MHTML, EXCEL, and HTMLOWC
deviceInfo
mimeType
encoding
fileNameExtension
streams
warnings
+ SetParameters
◎ keisuoy的专栏 Asp.net中动态控制RDLC报表 2007-08-08
1. 透過localReport找到Report對象
2. 報表全部自動生成
reportViewer1.Reset();
reportViewer1.LocalReport.LoadReportDefinition(m_rdl);
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("MyData", m_dataSet.Tables[0]));
reportViewer1.RefreshReport();
reportViewer1.Reset();
reportViewer1.LocalReport.LoadReportDefinition(m_rdl);
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("MyData", m_dataSet.Tables[0]));
reportViewer1.RefreshReport();
3. 加戴rdlc到XmlDocument, 修改xml, 交給 ReportViewer
◎ .Net下动态报表生成实现(一) 博客园 蓝天_白云 2011/10/16
ReportXml rex = new ReportXml(destname);
...
foreach (DataRow row in xz._XiangXhen.Rows) {
Rex.AddParameter
Rex.AddDataSetColumn
Rex.AddTableColumn
Rex.AddTableHaderSecondRowCell
Rex.AddDetailsCell
...
}
Rex.EditPageFooterLineWidth
this.reportViewer.LocalReport.ReportPath = destname;
this.reportViewer.LocalReport.SetParameters(cc);
this.reportViewer.RefreshReport();
public ReportXml(string filename) {
... 產出XML
}
沒有留言:
張貼留言