2

側面にボタン リンク、上部にテキスト リンク、下部にグリッドがある JQuery ダイアログ ボックスに部分ビューがあります。

上部のリンクの1つを「印刷」リンクにして、グリッドを印刷するだけにしたいと思います。

JavaScript の window.print() はページ全体を印刷します。グリッドだけを印刷するにはどうすればよいですか? 「このdivの内容を印刷するだけ」と印刷メソッドに指示する方法はありますか?

別の「印刷可能なグリッド」ページを作成する必要がある場合、ページ上にある必要があると思われる「印刷ボタン」を印刷しないようにするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

2

何も印刷しないようにする標準的な方法は、表示すべきでない要素をdisplay: noneに設定する印刷スタイルシートを追加することです。

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

print.css 内で、既存の CSS スタイルをdisplay: noneに再定義し、印刷したくないものすべてに適用できる .DoNotPrint クラスを追加できます。

.DoNotPrint
{
    display: none;
}
于 2013-04-09T18:50:00.347 に答える
2

これは完全に実装に依存しますが、これを実現する最も簡単な方法は、次のような印刷固有のスタイル シートを含めることです。

<link rel="stylesheet" href="URL to your print.css" type="text/css" media="print" />

そのスタイルシートは、表以外のすべてを非表示にし、どの要素を表示および非表示にするかを指定する以外に特別なことは何も必要としません。

さらに検討した後、次のこともできます。

グリッドを持つパーシャルのみを含む別のページを作成します。ユーザーが印刷ボタンをクリックすると、新しいウィンドウが開き、window.print()ロードされます。

于 2013-04-09T18:50:06.787 に答える