日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

table的分页打印

發布時間:2025/5/22 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 table的分页打印 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  在工作中,經常有打印報表的需求,一般<tbody>中的<tr>比較多的時候,打印機打印的時候肯定會出去分頁,有的客戶要求比較高,一張A4紙一定要帶上表頭和表尾的內容(就是<thead>和<tfoot>中的內容),當然可以控制分頁打印樣式,把表頭和表尾都加上樣式,但是實際效果是不是太好,會比較難看,tfoot中的內容和tbody中的內容銜接不上.

  后臺程序是可以控制輸出多少行tr后加上tfoot和thead,但是,頁面顯示的時候,一個頁面會顯示多個表頭和表尾,效果不夠完美,而且后臺控制編程是面向過程的.

所有做了一個前臺在用戶點擊打印按鈕時,調用函數,把整個表格拆分成多個表格(一個表格打印在一張A4紙上).

從新整理下需求:

1)一個html中的一個table ,打印到A4紙上

2)每張紙上都要有表格的表頭和表尾,內容部分的行數固定

3)最后一頁,內容部分的輸出行數不夠了,輸出空白行.

(補充下,打印的頁邊距是通過ScriptX控制的,這里就不細說了)

原理就是:

0)指定要輸出的行數(每頁紙要輸出的tr,這里的tr僅屬于tbody)

1)獲取html中的整個表格.

2)獲取tbody中tr的數量,根據指定的行數,判斷是否要在末頁輸出空白行,

3)抽取出tbody中的所有tr,緩存在變量中,清空頁面中tbody中的tr

4)獲取此刻的表格,

5)克隆表格,循環添加指定行數的tr到克隆的表格中,克隆表格后面跟一個<div>加上強制分頁樣式,都緩存在變量中,

6)將變量插入文檔,刪除原有表格

思路就這樣,接下看代碼吧,函數是封裝好的,可以直接調用,要使用的話,<table>要加一個class代碼中的class是.printTable.

這個是一個比較簡單的,實際工作中,可以能會有表格的嵌套使用,還要復雜很多,項目中我已經可以實現了,但還沒封裝好,有空在發布,現在就這個簡單的先發上來在說了;

本人新手入行剛3個月多幾天,說的對的地方,我改!各位大大大請輕噴,謝了

?

1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script src="jquery-1.6.1.min.js"></script> 7 8 9 <script> 10 function printTable (ro){ 11 var row=18; //默認分頁18行,demo中參數是3行 12 if(ro != undefined){ 13 row=ro; 14 } 15 var $tbl = $('table.printTable'); 16 var $tableparent=$tbl.parent(); 17 var $thead = $tbl.find('thead'); 18 // var $tfoot = $tbl.find('tfoot'); 19 var $tbody = $tbl.find('tbody'); 20 var $tbodyTr = $tbody.children(); 21 var $clonefirstTr= $tbodyTr.first().clone(); 22 $clonefirstTr.children().each(function(){ 23 $(this).html('&nbsp;'); 24 }) 25 //打空白行 26 var tbodyTrlength = $tbodyTr.length; 27 var addrow = 0; 28 var remainder =tbodyTrlength%row; 29 var nulltr=""; 30 if( remainder!=0){ 31 addrow = row- remainder; 32 for(var i = 0;i<addrow;i++){ 33 nulltr+=$clonefirstTr[0].outerHTML; 34 } 35 } 36 $tbody.append(nulltr); //空白行加入到文檔 37 //再一次獲取所有的tr行 38 $tbodyTr=$tbody.children(); 39 //清空tbody 40 $tbody.children().remove(); 41 //再獲取整個表格(此時的表格tbody已經沒東西了,這樣解釋是不是有點啰嗦了?) 42 $tbl = $('table.printTable'); 43 //創建一個文檔碎片(這里沒有用文檔碎片了,jQuery操作字符串更簡單) 44 var fragment=''; 45 //給表格加18行tr(主體內容) 46 tbodyTrlength = $tbodyTr.length; 47 var trFG= ''; 48 for(var i =0 ; i<tbodyTrlength; i++){ 49 trFG+=$tbodyTr.eq(i)[0].outerHTML; 50 if((i+1)%row==0){ 51 var clonetbl = $tbl.clone(); //克隆一個表格 52 clonetbl.find("tbody").append(trFG);//在表格的body中加入內容 53 fragment+=clonetbl[0].outerHTML+"<div style='page-break-after:always;' ><br/></div>"; //把表格加入文檔碎片中 54 trFG=''; 55 } 56 } 57 $tbl.before(fragment); 58 $tbl.remove(); 59 } 60 61 </script> 62 </head> 63 <body> 64 <button onclick="printTable(3)">調用函數按鈕</button> 65 66 <table class="printTable" border="1"> 67 <thead> 68 <tr> 69 <td></td> 70 <td></td> 71 </tr> 72 </thead> 73 74 <tbody> 75 <tr> 76 <td>body</td> 77 <td>body</td> 78 </tr> <tr> 79 <td>body</td> 80 <td>body</td> 81 </tr> <tr> 82 <td>body</td> 83 <td>body</td> 84 </tr> <tr> 85 <td>body</td> 86 <td>body</td> 87 </tr> <tr> 88 <td>body</td> 89 <td>body</td> 90 </tr> <tr> 91 <td>body</td> 92 <td>body</td> 93 </tr> <tr> 94 <td>body</td> 95 <td>body</td> 96 </tr> <tr> 97 <td>body</td> 98 <td>body</td> 99 </tr> <tr> 100 <td>body</td> 101 <td>body</td> 102 </tr> <tr> 103 <td>body</td> 104 <td>body</td> 105 </tr> <tr> 106 <td>body</td> 107 <td>body</td> 108 </tr> <tr> 109 <td>body</td> 110 <td>body</td> 111 </tr> <tr> 112 <td>body</td> 113 <td>body</td> 114 </tr> <tr> 115 <td>body</td> 116 <td>body</td> 117 </tr> 118 </tbody> 119 120 <tfoot> 121 <tr> 122 <td>tfoot</td> 123 <td>tfoot</td> 124 </tr> 125 </tfoot> 126 </table> 127 128 </body> 129 </html>

?

轉載于:https://www.cnblogs.com/tenie/p/4851772.html

總結

以上是生活随笔為你收集整理的table的分页打印的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 肉丝袜脚交视频一区二区 | 欧美日韩精品在线视频 | 制服师生在线 | 免费观看黄色网址 | 亚洲国产欧美日韩在线 | 星空大象mv高清在线观看免费 | 三上悠亚痴汉电车 | 98精品视频| 国产成人97精品免费看片 | 无套内谢的新婚少妇国语播放 | 欧美精品一区二区三区久久 | free性中国hd国语露脸 | 波多野在线 | 国产夫妻在线 | 日韩亚洲影院 | 这里只有精品视频 | 日本男男激情gay办公室 | 成人在线播放av | 一色桃子juy758在线播放 | 国产综合影院 | 在线看片你懂得 | 国产一级视频在线 | 欧美激情一区二区三区免费观看 | 无码乱人伦一区二区亚洲 | 一级在线免费观看 | 720url在线观看免费版 | 91免费看| 欧洲av无码放荡人妇网站 | 亚洲黄色片子 | 九九热国产精品视频 | 超碰毛片 | www亚洲一区| 日韩视频在线观看免费视频 | a级黄色网址 | 色网在线看 | 五月的婷婷 | 清草视频 | 国产精品视频一区二区三区 | 国产婷婷一区二区 | 九九热在线观看 | 欧洲美一区二区三区亚洲 | 日韩中文一区二区三区 | 爽妇网国产精品 | 色婷婷免费 | 国产精品久久久久毛片大屁完整版 | 岳狂躁岳丰满少妇大叫 | 亚洲天堂男人天堂 | 国产二级一片内射视频播放 | 欧美精品第二页 | 97免费视频观看 | av导航网| 日韩成人高清视频 | 大乳女喂男人吃奶视频 | 91在线视频免费 | 日本特黄视频 | 成人国产精品久久久 | 午夜伦理影院 | 女人夜夜春 | 成年男女免费视频网站 | 亚洲av成人一区二区 | 蜜桃99视频一区二区三区 | 在线播放91灌醉迷j高跟美女 | 亚洲男人天堂视频 | 一二区免费视频 | 91片黄在线观看 | 狠狠躁夜夜躁人人爽天天高潮 | 午夜视频网 | 日韩免费网 | 精品国产综合区久久久久久 | 欧美特黄 | 影音先锋每日资源 | 99人妻碰碰碰久久久久禁片 | 性色国产成人久久久精品 | 欧美人与禽猛交乱配 | 色噜噜狠狠一区二区三区牛牛影视 | 97香蕉久久超级碰碰高清版 | 国产又粗又猛视频免费 | 老司机午夜精品 | 欧洲影院 | 日韩经典av | av二区在线 | 日韩在线免费观看av | 国产乱来视频 | 亚洲一区二区观看 | 亚洲日本欧美在线 | 欧美最猛黑人xxxx黑人猛交 | 少女忠诚电影高清免费 | 91爱爱爱爱 | 爱草视频 | 中国特级黄色片 | 久草网在线视频 | 亚洲永久精品一区 | 黑人操日本| 黄色av一区二区三区 | 一级人爱视频 | 天天干女人 | 巨乳在线播放 | 亚洲综合一区中 | 91免费看网站 |