ADD_PRINT_TABLE有計算功能,還會每頁顯示tfoot和thead里的內容。相關其他博文:
如果一個表格既有需要每頁顯示的tfoot,還有一個總計功能,想顯示在最后一頁的tfoot后面,是不行的,因為tfoot默認就是在表格的最后顯示。
在ie里訪問下表格,會發現即使 在tfoot后面加了tbody或行,也會顯示到tfoot前面去,這就是瀏覽器的解析效果。LODOP本身不自帶解析超文本引擎,都是調用的本機底層的解析引擎,和本機ie一致。
所以想把某些內容放到tfoot的后面是不行的。
1.把總計放到tfoot里,在tfoot的最后一行,可以在讓總計顯示在最后一頁的最后一行,且由於tfoot是每頁顯示的,所以總計也會每頁顯示。
2.把總計放到tbody里,不會每頁顯示,放到tbody的最后一行,總計會在最后一頁顯示,但是會顯示在tfoot的上面,不會是最后一行。
3.去掉tfoot,在無tfoot的情況下,總計可以顯示在最后一頁最后一行。
4.不用LODOP的ADD_PRINT_TABLE計算方法,在后台或前面用其他方式進行計算處理。
其他:如果前面有tfoot,不讓總計在最后一頁的最后一行顯示。
測試代碼:(tdata是全表統計,不用tindex指定列的情況下是該單元格所在的列。)
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>WEB打印控件LODOP</title> <script language="javascript" src="LodopFuncs.js"></script> </head> <body> <div id="p"> <table border=1 style="border-collapse:collapse;" width="150cm"> <thead> <tr> <td height="5cm">表頭1</td> <td height="5cm">表頭2</td> </tr> </thead> <tr> <td height="70mm">10</td> <td height="70mm">20</td> </tr> <tr> <td height="70mm">22</td> <td height="70mm">33</td> </tr> <tr> <td height="70mm">44</td> <td height="70mm">55</td> </tr> <tfoot> <tr> <td height="70mm">表尾1</td> <td height="70mm">表尾2</td> </tr> <tr> <td height="70mm">總計</td> <td height="70mm" tdata="AllSum" tindex="2">###</td> </tr> </tfoot> </table> </div> <div id="p2"> <table border=1 style="border-collapse:collapse;" width="150cm"> <thead> <tr> <td height="5cm">表頭1</td> <td height="5cm">表頭2</td> </tr> </thead> <tr> <td height="70mm">10</td> <td height="70mm">20</td> </tr> <tr> <td height="70mm">22</td> <td height="70mm">33</td> </tr> <tr> <td height="70mm">44</td> <td height="70mm">55</td> </tr> <tfoot> <tr> <td height="70mm">表尾1</td> <td height="70mm">表尾2</td> </tr> </tfoot> <tbody> <tr> <td height="70mm">總計</td> <td height="70mm" tdata="AllSum" >###</td> </tr> </tbody> </table> </div> <a href="javascript:prn0_preview()">11打印預覽(超文本不透明,有背景色)</a><br> <script language="javascript" type="text/javascript"> var LODOP; //聲明為全局變量 function prn0_preview() { LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.SET_PRINT_PAGESIZE(1,1000,1000,""); LODOP.ADD_PRINT_TABLE("10mm",0,"100%",200,document.getElementById("p").innerHTML); LODOP.NEWPAGEA(); LODOP.ADD_PRINT_TEXT(10,30,100,20,"第二個表格---"); LODOP.ADD_PRINT_TABLE("10mm",0,"100%",200,document.getElementById("p2").innerHTML); LODOP.PRINT_DESIGN(); //LODOP.PREVIEW(); }; </script> </body>
圖示: