Main Content

テーブル エントリ コンテンツの水平方向の配置

この例では、DOM API の略式および形式的テーブルのテーブル エントリの水平方向の配置を指定する方法を説明します。この例では、すべてのテーブル エントリ、行内のエントリ、および個々のエントリの配置を設定する方法を示します。

ドキュメントとデータの設定

長い完全修飾クラス名を使用せずに済むよう、DOM 名前空間をインポートします。

import mlreportgen.dom.*

PDF ドキュメントを作成して開きます。代わりに Word ドキュメントを作成するには、出力タイプを pdf から docx に変更します。代わりに HTML ドキュメントを作成するには、pdf を、複数ファイル ドキュメントの場合は html に、単一ファイル ドキュメントの場合は html-file にそれぞれ変更します。

d = Document("mydoc","pdf");
open(d);

テーブル、ヘッダー行、フッター行のスタイルを定義します。

tableStyle = { Width("80%"), ...
               Border("solid"), ...
               RowSep("solid"), ...
               ColSep("solid") };

headerStyle = { BackgroundColor("LightBlue"), ...
                Bold(true) };

footerStyle = { BackgroundColor("LightCyan"), ...
                ColSep("none"), ...
                WhiteSpace("preserve") };

テーブルのヘッダー行、本体、フッター行のコンテンツを定義します。

headerContent = {'Item', 'Quantity', 'Cost'};
bodyContent = {'Table', 1, 55; ...
               'Chair', 4, 100; ...
               'Bookshelf', 2, 40};

total = sum([bodyContent{:,3}]);
footerContent = {[],'Total ',total};

tableContent = [headerContent; bodyContent];

全テーブル エントリの配置の設定

最初のテーブルでは、1 つのテーブル プロパティを設定して、全テーブル エントリを中央揃えにします。

以前に定義されたコンテンツを使用して、mlreportgen.dom.Table オブジェクトを作成します。スタイルをテーブルとテーブルの最初の行に割り当てます。

append(d,Heading1("All Table Entries Centered"));

table = Table(tableContent);
table.Style = tableStyle;

firstRow = table.Children(1);
firstRow.Style = headerStyle;

TableEntriesHAlign プロパティを "center" に設定して、全テーブル エントリの水平方向の配置を設定します。テーブルをドキュメントに追加します。

table.TableEntriesHAlign = "center";
append(d, table);

テーブル行のエントリの配置の設定

次のテーブルでは、行の Style プロパティを変更して、一番上の行のテーブル エントリのみを中央揃えにします。

スタイルをテーブルとテーブルの最初の行に割り当てます。TableEntriesHAlign プロパティで水平方向の配置を設定する代わりに、HAlign オブジェクトを作成して、それを前に定義したヘッダー スタイルとともに、最初の行の Style プロパティに含めます。

append(d,Heading1("Top Row Entries Centered"));

table = Table(tableContent);
table.Style = tableStyle;

firstRow = table.Children(1);
firstRow.Style = [{HAlign("center")},headerStyle];

append(d,table);

テーブル行の Style プロパティでテーブル行に対して定義された配置は、TableEntriesHAlign プロパティでテーブル全体に対して定義された配置をオーバーライドします。

形式的テーブル ヘッダー、およびフッターの単一のエントリの配置の設定

最後のテーブルでは、mlreportgen.dom.FormalTable オブジェクトを使用して形式的テーブルを作成します。テーブル ヘッダー エントリを中央揃え、単一のフッター エントリを右揃えにします。

mlreportgen.dom.FormalTable オブジェクトを作成します。テーブル全体、ヘッダー、フッターのスタイルを設定します。FormalTable オブジェクトのヘッダーは本体とは別であるため、ヘッダー エントリの配置は、TableEntriesHAlign プロパティを使用して設定できます。本体やフッターのエントリに影響は生じません。あるいは、HAlign オブジェクトを行の Style プロパティに追加することもできます。

append(d, Heading1("Header Entries Centered, One Footer Entry Right-Aligned"));

table = FormalTable(headerContent,bodyContent,footerContent);
table.Style = tableStyle;

table.Header.TableEntriesHAlign = "center";
table.Header.Style = headerStyle;

footer = table.Footer;
footer.Style = footerStyle;

エントリの Style プロパティに HAlign オブジェクトを含めて、フッターの 2 番目のエントリを右揃えにします。mlreportgen.dom.Bold オブジェクトを追加してエントリを太字にします。

totalEntry = entry(footer,1,2);
totalEntry.Style = {HAlign("right"),Bold(true)};

append(d,table);

ドキュメントを閉じて表示します。

close(d);
rptview(d);

参考

| |

関連するトピック