0

iTextSharp を使用して PDF ドキュメントを作成しています。ドキュメントは一連のテーブルです。一部の表は数ページにまたがっています。

最初の列は日付です。テーブルの複数の行の最初の列に同じ日付がある場合、最初の行にのみ日付を出力し、次の行には日付が変わるまで空白の列があります。

最後の列の値を変数に格納し、新しい行にセルを追加する前に比較します。

しかし、テーブルが 1 ページに収まらない場合は、改ページ後の最初の行で日付列を繰り返したいので、ユーザーは前のページに戻って日付を確認する必要がありません。

私のテーブルにはヘッダーがあり、新しいページでうまく繰り返されます(PdfPTable.HeaderRowsを設定しています)。

onStartPage と onEndPage に最後に印刷された日付を格納する変数をクリアしようとしましたが、役に立ちませんでした。

基本的に私はこのようなものが欲しい:

(表の先頭)

================================================== =====
  日付 日付に関するもの        
================================================== =====
  2011/01/01 1月1日の出来事
                 この日は別の出来事がありました
  2011/05/01 今日も一日
  2011/07/01 新日
                 まだ 2011/01/07
                 まだある

(改ページ後 - 表は続き、日付は 1 行目に繰り返されます)

================================================== =====
  日付 日付に関するもの        
================================================== =====
  2011/07/01 まだ1月7日ですが、
                 これは新しいページであるため、列が繰り返されます
                 そしてまだ7位
  2011/01/15 新しい日
  2011/01/17 そして別の日

どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

0

リストを PdfTable に追加する前に、最初に日付でグループ化することを検討してください。これは、LINQ を使用して簡単に実現できます。グループ化後、各グループを繰り返し、最初の列に日付グループの値を追加してから、グループの各メンバーを繰り返し、それらすべて (日付に関連する値) を 2 番目の列に追加します。

于 2011-08-25T03:06:26.007 に答える