左右に並べられたテーブル
この例では、ページ上でテーブルを左右に並べて配置する方法を説明します。
この例では、非表示テーブル (境界線も色も付いていないテーブル) の隣接するエントリに、各テーブルを配置します。非表示テーブルによって、挿入されたテーブルが左右に並んで表示されます。
長い完全修飾クラス名を使用せずに済むよう、DOM およびレポートの API パッケージをインポートします。また、レポート オブジェクトも作成します。
import mlreportgen.dom.* import mlreportgen.report.* % To create a Word report, change the output type from "pdf" to "docx". % To create an HTML report, change "pdf” to “html” or "html-file" for a % multifile or single-file report, respectively. rpt = Report('myreport','pdf');
魔方陣のデータを保持するために、2 つの table オブジェクト (table1 と table2) を作成します。以下で作成する非表示テーブルのセルに収まるように、これらのテーブルの幅を 100% に設定します。また、テーブルの境界線、行の区切り、および列の区切りのスタイルを指定します。
tableStyle = { ... Width('100%'), ... Border('solid','black','1px'), ... ColSep('solid','black','1px'), ... RowSep('solid','black','1px') ... }; table1 = Table(magic(8)); table1.TableEntriesHAlign = 'center'; table1.Style = tableStyle; table2 = Table(magic(4)); table2.TableEntriesHAlign = 'center'; table2.Style = tableStyle;
1 行 3 列の非表示レイアウトのテーブル (lo_table) にある唯一の行にテーブルを挿入します。テーブルおよびそのテーブル エントリのいずれにも境界線が定義されていない場合、テーブルは非表示と見なされます。
lo_table = Table({table1,' ',table2});
魔方陣のテーブルに合うように、レイアウト テーブル エントリの幅を指定します。
lo_table.entry(1,1).Style = {Width('3.2in')}; lo_table.entry(1,2).Style = {Width('.2in')}; lo_table.entry(1,3).Style = {Width('3.2in')};
余白の間のページ幅一杯に広がるように、レイアウト テーブルの幅を設定します。ResizeToFitContents を false に設定して、レイアウト テーブル列のサイズ変更を防ぎ、代わりに指定した幅を使用するようにします。
lo_table.Style = {Width('100%'), ResizeToFitContents(false)};
レポートを生成して表示します。
add(rpt, lo_table); close(rpt); rptview(rpt);