日付のイベントをリストする iText のテーブルを作成しています。1 つの日付に複数のイベントがある場合は、日付セルの rowspan プロパティをイベントの数に設定します。イベントの追加情報を表示し、すべてを整列させたいので、現在、各イベントに行を使用しています。基本的に、私のテーブルは次のようになります。
Date | Event | Details
--------+-----------+---------------
date 1 | event 1 | details 1
--------+-----------+---------------
date 2 | event 2 1 | more
| | details 2 1
+-----------+---------------
| event 2 2 | details 2 2
--------+-----------+---------------
を含むセルdate 2
の行スパンは 2 です。
ColumnText.go()
ループで使用してテーブルを追加します。
ドキュメントに表を書き込んで、 に十分なスペースしか残っていない場合event 2 1
、event 2 2
は新しいページに移動します。追加する前に新しいページを強制するにはどうすればよいdate 2
ですか?
を使用PdfPTable.setSplitLate(true)
しても、複数行のセルには影響しないようです。date 2
セルの固定高さを 2 つの行の高さを合わせたものに設定することもできません。
1 つの解決策は、列 2 と 3 にネストされたテーブルを使用することです (列 2 と 3 を 1 つの列として扱います)。
私が使用しているiTextのバージョンで正しく機能しない別の解決策は
PdfPTable.writeSelectedRows()
、ページに収まる(結合された)行のみを使用して書き込むことです。問題は、この方法では行スパンが無視され、Date
セルが 1 つの行だけにまたがるように見えることです。
他の方法はありますか?