テーブル エントリ コンテンツの水平方向の配置
この例では、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);
参考
mlreportgen.dom.Table
| mlreportgen.dom.FormalTable
| mlreportgen.dom.HAlign