0

C# MVC で開発されたビューにページネーションを実装しました。ページネーションは AJAX で実装されています。ユーザーは、ビューのページ全体でレコードを選択できます。ページ上にある [印刷] ボタンをクリックすると、選択したレコードのみが印刷されます。これを実現するために、選択したレコードを<div id="ToPrintContainer" >[レイアウト] ページの which に移動します。

印刷ボタンのクリックで

  1. <div id="ToPrintContainer">ビューに複製します。

  2. のプロパティを.divPrintDetailedasに設定しますdisplay:none

  3. window.print()

  4. display:noneの_.divPrintDetailed

  5. 最後に、コピーされたレコードを削除または空にします。

<div id="ToPrintContainer" >ユーザーが印刷したいレコードのみが含まれます。

<div class ="divPrintDetailed">すべてのレコードが含まれます。

問題は印刷物にあり、空白のページが表示されます。

私がコメントすれば $('.copiedDivForPrint').empty();

印刷ウィンドウに選択したレコードが表示されますが、これは私が望んでいることですが、コピーされたレコードはビューからクリアされません。

以下に貼り付けたのはjQueryコードです。

$('#btnPrnt').unbind('click').bind("click", function () {
// copy the selected records into the view 
          $("#divTestPrintContainer").clone().addClass('copiedDivForPrint').insertAfter('.StatsCriteria');
// don't display the entire records on print
        $('.divPrintDetailed').css({ 'display': 'none' });
        window.print();
        $('.divPrintDetailed').css({ 'display': '' });
        $('.copiedDivForPrint').empty();
        return false;
    });
4

2 に答える 2

1

まったく別の方向から来る方が簡単な場合もあります。

1) 必要なコンテンツを非表示の Iframe にコピーします (スタイルシート宣言を含む - ダミーのページ ラッパー スタブを作成します)。

2) Iframe から印刷します。

于 2013-07-18T19:15:04.980 に答える