我有以下代码
<p:dataTable id="table" reflow="true">
...
</p:dataTable>
<p:commandButton>
<p:printer target="table" />
<p:commandButton>
有没有办法以正常格式打印表,即使它处于回流模式(每行作为堆栈)?
答案 0 :(得分:0)
这就是我最终要做的事情
我创建了一个函数来修改jquery print函数,以便在打印之前格式化我的表格
function formatTableBeforePrint() {
$.fn.jqprint = (function() {
var cached_function = $.fn.jqprint;
return function(d) {
$.fn.jqprint.defaults = {
debug : false,
importCSS : true,
printContainer : true,
operaSupport : true
};
var tables = $('.ui-datatable-reflow');
$(".ui-datatable-reflow .ui-datatable-data td .ui-column-title").addClass('noprint');
tables.removeClass('ui-datatable-reflow');
var result = cached_function.apply(this, arguments);
tables.addClass('ui-datatable-reflow');
return result;
};
})();
}
然后从p:commandButton
<p:commandButton onclick="formatTableBeforePrint()">
<p:printer target="table" />
<p:commandButton>