最佳化 HTML 輸出的報表配置 (Visual Studio 報表設計工具)
這個主題描述 ReportViewer Web 伺服器控制項所顯示的 HTML 報表之報表項目的分頁和定位。如果您要了解報表的 HTML 呈現方式,這項資訊非常有用。您每次執行報表時,都會重新產生 HTML 輸出。內建的轉譯延伸模組會決定 HTML 輸出,其中包括報表項目的定位和樣式。內建的 HTML 轉譯延伸模組無法自訂。您無法變更它產生的 HTML 標示,或利用不同的實作來取代現有的格式元素。
HTML 支援
除了某些例外狀況,HTML 4.0 報表符合 HTML 4.0 和階層式樣式表層級 2 (CSS2) 規格。所有 HTML 都是利用 UTF-8 編碼來產生的。
附註 |
---|
這個主題參考報表的元素。報表元素是報表定義語言 (RDL) 的一部份,報表定義語言提供了報表結構的正式描述。SQL Server 2005 線上叢書有 RDL 的說明。 |
項目定位
為了輸出 HTML 報表,控制項會用 HTML 來建立一份資料表,將項目包含在各組報表項目中。項目會放在資料表內,保留報表的配置。如果一組報表項目只包含單一報表項目,就會轉譯報表項目,但不含資料表。所有位置和項目大小都是用公釐 (mm) 來表示。小於 0.2 mm 的大小和位置差異,在轉譯時,會視為 0 mm。
HTML 不支援重疊項目。如果報表項目與另一個項目重疊,就會將項目安排成不重疊。這可能使項目在頁面中出現的位置不同於設計的位置。在某些情況下,項目在設計工具中看起來並未重疊,但事實上卻會重疊。報表項目的大小和位置屬性會顯示它們真正的位置。為了判斷重疊項目的位置,轉譯延伸模組會先考慮項目的 Top 元素值,接著考慮 Left 元素值,然後再考慮 ZIndex 的值。
分頁
HTML 轉譯延伸模組會依照下列方式,將頁面轉譯成個別的 HTML 頁面,也稱為「區段」:
當下列項目放在含有分頁符號的清單內時,或直接放在報表主體內,便會轉譯分頁符號:
PageBreakAtEnd 或 PageBreakAtStart 設為 True 的矩形。
PageBreakAtEnd 或 PageBreakAtStart 設為 True 的清單或清單群組。
PageBreakAtEnd 或 PageBreakAtStart 設為 True 的資料表或資料表群組。資料表至少必須有一個可見的資料行。資料表群組的所有父群組都必須可見。
PageBreakAtEnd 或 PageBreakAtStart 設為 True 的矩陣或資料列群組。
含有任何上述項目的子報表。
在含有分頁符號的項目之上開始的項目,在頁面中會出現在分頁符號前面。
HTML 轉譯延伸模組會試圖依照先前的描述來轉譯項目中的所有分頁符號;不過,分頁符號在頁面中彼此相鄰的兩個項目,可能會產生非預期的結果。含有分頁符號的項目以及包含在資料表、矩陣或矩形內的項目,也可能產生非預期的結果。
任何放在含分頁符號之項目旁的項目,如果它的頂端在含分頁符號之項目的底端之上,便會將它們轉譯在相同頁面中。例如,直接放在資料表底端含分頁符號的資料表右側文字方塊,會與資料表出現在相同頁面中。放在相同資料表右側和底端以下的文字方塊,則會出現在下一頁。
另外,HTML 轉譯延伸模組也會依照報表屬性所定義,將分頁符號插在頁面的大約高度上。這主要是防止不含分頁符號的大型報表在轉譯時,產生超大型 HTML 頁面。
樣式
樣式元素會轉譯成 HTML 4.0 的 CSS 樣式。對 HTML 4.0 而言,每個報表項目都會轉譯一個單一 CSS 樣式。這些樣式的名稱跨各報表和子報表都是唯一的。下表指出 RDL 樣式屬性如何對應到 HTML 樣式。
RDL 樣式 | 描述 | HTML 4.0 |
---|---|---|
BorderColor |
框線色彩。 |
border |
BorderStyle |
框線樣式。 |
border |
BorderWidth |
框線寬度。 |
border |
BackgroundColor |
背景色彩。 |
background-color |
BackgroundImage |
背景影像的 URL。 |
background-image |
BackgroundRepeat |
背景影像的重複模式。 |
background-repeat |
FontStyle |
字型樣式 (一般、斜體)。 |
font-style |
FontSize |
字型大小。 |
font-family |
FontWeight |
文字加權。 |
font-weight |
TextDecoration |
文字的裝飾 (底線、刪除線)。 |
text-decoration |
TextAlign |
文字的水平對齊。 |
text-align |
VerticalAlign |
文字的垂直對齊。 |
vertical-align |
Color |
文字的色彩。 |
color |
PaddingLeft |
左側框線和文字之間的填補大小。 |
padding-left |
PaddingRight |
右側框線和文字之間的填補大小。 |
padding-right |
PaddingTop |
頂端框線和文字之間的填補大小。 |
padding-top |
PaddingBottom |
底端框線和文字之間的填補大小。 |
padding-bottom |
LineHeight |
字行的高度。 |
Line-height |
Direction |
由右至左或由左至右。 |
DIR 屬性 |
Language |
文字的語言。 |
LANG 屬性 |
UnicodeBiDi |
雙向演算法覆寫。 |
unicode-bidi |
附註 |
---|
框線樣式是 Double 且框線寬度小於 2 pt 的框線,HTML 轉譯延伸模組會將它轉譯成單一線條。框線樣式是 Double 的框線,框線寬度至少必須是 2 pt,才能顯示雙線。 |
另請參閱
概念
設定 ReportViewer 的遠端處理
建立用戶端報表定義檔案 (.rdlc)
ReportViewer Web 伺服器和 Windows Form 控制項