2017-09-07 21 views
0

如果您在网格上打印预览与锁定列在Firefox中,你可以得到一些奇怪的问题,这可能是因为它是一个剑道电网,锁定列和打印预览在Firefox

例如3个表非对齐的列,分页符后的分页符等

如果Firefox支持“page-break-inside:avoid;”这可能不需要

一种解决方法在回答

回答

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,