最佳化 HTML 輸出的報表配置 (Visual Studio 報表設計工具)

這個主題描述 ReportViewer Web 伺服器控制項所顯示的 HTML 報表之報表項目的分頁和定位。如果您要了解報表的 HTML 呈現方式,這項資訊非常有用。您每次執行報表時,都會重新產生 HTML 輸出。內建的轉譯延伸模組會決定 HTML 輸出,其中包括報表項目的定位和樣式。內建的 HTML 轉譯延伸模組無法自訂。您無法變更它產生的 HTML 標示,或利用不同的實作來取代現有的格式元素。

HTML 支援

除了某些例外狀況,HTML 4.0 報表符合 HTML 4.0 和階層式樣式表層級 2 (CSS2) 規格。所有 HTML 都是利用 UTF-8 編碼來產生的。

Note附註

這個主題參考報表的元素。報表元素是報表定義語言 (RDL) 的一部份,報表定義語言提供了報表結構的正式描述。SQL Server 2005 線上叢書有 RDL 的說明。

項目定位

為了輸出 HTML 報表,控制項會用 HTML 來建立一份資料表,將項目包含在各組報表項目中。項目會放在資料表內,保留報表的配置。如果一組報表項目只包含單一報表項目,就會轉譯報表項目,但不含資料表。所有位置和項目大小都是用公釐 (mm) 來表示。小於 0.2 mm 的大小和位置差異,在轉譯時,會視為 0 mm。

HTML 不支援重疊項目。如果報表項目與另一個項目重疊,就會將項目安排成不重疊。這可能使項目在頁面中出現的位置不同於設計的位置。在某些情況下,項目在設計工具中看起來並未重疊,但事實上卻會重疊。報表項目的大小和位置屬性會顯示它們真正的位置。為了判斷重疊項目的位置,轉譯延伸模組會先考慮項目的 Top 元素值,接著考慮 Left 元素值,然後再考慮 ZIndex 的值。

分頁

HTML 轉譯延伸模組會依照下列方式,將頁面轉譯成個別的 HTML 頁面,也稱為「區段」:

  • 當下列項目放在含有分頁符號的清單內時,或直接放在報表主體內,便會轉譯分頁符號:

    • PageBreakAtEndPageBreakAtStart 設為 True 的矩形。

    • PageBreakAtEndPageBreakAtStart 設為 True 的清單或清單群組。

    • PageBreakAtEndPageBreakAtStart 設為 True 的資料表或資料表群組。資料表至少必須有一個可見的資料行。資料表群組的所有父群組都必須可見。

    • PageBreakAtEndPageBreakAtStart 設為 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

Note附註

框線樣式是 Double 且框線寬度小於 2 pt 的框線,HTML 轉譯延伸模組會將它轉譯成單一線條。框線樣式是 Double 的框線,框線寬度至少必須是 2 pt,才能顯示雙線。

另請參閱

概念

設定 ReportViewer 的遠端處理
建立用戶端報表定義檔案 (.rdlc)
ReportViewer Web 伺服器和 Windows Form 控制項