如果你在Firefox中使用锁定列的网格上进行打印预览,你可能会遇到一些奇怪的问题,这可能是因为它是一个3个表中的
e.g。非对齐列,标题后的分页符等
如果Firefox支持“page-break-inside:avoid;”这可能不需要
答案中的解决方法
答案 0 :(得分:0)
有点乱,但你可以随意清理它。因为这需要重新创建网格,所以只有当网格适当小并通过json或类似方法获取数据时它才有用
(1)使用以下内容连接到打印事件,注意标记设置
(function ()
{
var beforePrint = function ()
{
PrintPreProcess();
};
if (window.matchMedia)
{
var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function (mql)
{
if (mql.matches)
{
beforePrint();
}
});
}
window.onbeforeprint = beforePrint;
} ());
var PrintPreProcessInProgress = false;
function PrintPreProcess()
{
window.PrintPreProcessInProgress = true;
$.event.trigger(
"PrintPreviewStarted",
{
}
);
setTimeout(function ()
{
window.PrintPreProcessInProgress = false;
$.event.trigger(
"PrintPreviewEnded",
{
}
);
}, 0);
}
(2)打印预览开始和结束时重绘网格
$(document).on("PrintPreviewStarted", function (e, args)
{
ReDrawGrid();
});
$(document).on("PrintPreviewEnded", function (e, args)
{
ReDrawGrid();
});
(3)作为重绘的一部分,如果不在打印预览中,则仅允许锁定列,即
locked: colModel.Locked && !window.PrintPreProcessInProgress,