автоматическая печать с помощью jQuery

У меня есть данные в следующем формате:

(фиктивные записи) (id=posGridView)

enter image description here

когда я обрабатываю продажу, небольшая квитанция автоматически печатается с выбранными столбцами, а не со всеми столбцами.

поскольку все данные доступны в этом представлении сетки, как я могу печатать их динамически в любом формате с помощью jquery?

редактировать

на самом деле я хочу напечатать в этом формате динамически из приведенного выше вида сетки

enter image description here

1 ответов


печати

нет необходимости в jQuery для печати страницы, вам просто нужна функция JavaScript:window.print();.

Если вам нужно напечатать определенный контент, вы можете скрыть остальное (и отформатировать печатную область) с помощью CSS:

<style media="screen">
  .noPrint{ display: block; }
  .yesPrint{ display: block !important; }
</style> 
<style media="print">
  .noPrint{ display: none; }
  .yesPrint{ display: block !important; }
</style>

как вы можете видеть, установив СМИ атрибут тега стиля можно настроить стили как для обычного вида (экран), так и для вида печати (печать). Полный текст статьи здесь.

динамичность

вы можете добавить определенный динамизм в процесс, но имейте в виду, что это может быть динамически для пользователя, но в вашем коде вам придется найти и событие прикрепления печати. Это событие может быть щелчком в Якоре:

<a href='javascript:window.print();'>Print</a>

это может быть onload событие вашей страницы:

window.onload = function () {
    window.print();
}

или любой другое событие, которое вам может потребоваться знать (обратите внимание, что теперь я использую jQuery):

var doPrintPage;

function printPage(){
    window.print();
}

$(document).ready(function(){
    $('input').blur(function(){
        //3sec after the user leaves the input, printPage will fire
        doPrintPage = setTimeout('printPage();', 3000);
    });
    $('input').focus(function(){
        //But if another input gains focus printPage won't fire
        clearTimeout(doPrintPage);
    });
});

код выше довольно прямолинейный: после трех секунд пользователя, покидающего вход,команде printpage будет огонь. Если вход получает фокус в эти три секунды,команде printpage не назовешь. Я действительно не думаю, что этот точный код-это то, что вам нужно, но я скажу, как эмулировать динамичность. Здесь можно увидеть setTimeout и clearTimeout определения.

EDIT: я вряд ли предлагаю вам скрыть свой нежелательный для печати html через CSS, как описано выше, и позвонить