GroupingSummary を使用した Ext JS 4.1 グリッドの場合、グループごとに 1 ページを印刷できるようにしたいと考えています。
各要約の後に行を追加し、その @media 印刷スタイルを page-break-before:always に設定することで、Firefox で有効なソリューションを得ることができます。ただし、これは Chrome や Safari では機能しません。私が理解しているように、その理由は、Webkit がテーブル行で page-break-before をサポートしていないためです。表の行の表示スタイルをブロックに設定して強制しようとしたこともありますが、ページ上部の余白が台無しです。
また、基本的にグリッド html を抽出し、各グループのグリッド html を複製し、各グループのテーブル行をこれらの新しい html グリッドの 1 つに移動する特別なプリンター スクリプトを作成することで、すべてのブラウザーで機能するソリューションを得ることができました。次に、すべての html を受け取り、既存の Web ページ画面を覆う iframe に書き込み、window.print() を呼び出します。1 つの良い点は、列ヘッダーが各新しいグループのページの上部にあることです。
このソリューションに関する私の主な 2 つの不満は次のとおりです。(1) ユーザーはブラウザーの印刷機能を使用して元の Web ページを印刷できません。つまり、ユーザーは印刷ボタンをクリックする必要があります。(2) ハッキーです。
グループ化されたグリッド、それぞれ独自の html テーブルをレンダリングするための Ext-native ソリューションが最適なソリューションのようです。誰かが好きな独自のソリューションを持っていますか?