Lodop 分页详解,可详细了呢
首先我們在打印之前數據肯定是要準備好的,首先把標題 題頭等信息準備好,然后循環列表采用json串的方式,這樣方便遍歷和修改
?
直接把list轉換成json,然后賦值給一個對象的某個屬性。這樣前臺就可以直接遍歷json串了。
json = JsonUtiles.getJsonDataFromCollection(list);//分頁newpage用,傳遞json串,然后解析
finalModel.setJsonString(json);
model.addAttribute("singleInfo",finalModel);
這樣json串就傳遞到前臺了。
前臺只需?var jsonString = '${singleInfo.jsonString}';
?var jsonList = eval("(" + jsonString + ")");
這樣就可以獲得json串了。
下面開始分頁(下面是lodop部分):
var totalRows = jsonList.length; ? ? //總記錄條數,這里就是在前臺獲得的json串
var hasPreviousPage = false; //是否有下一頁
var pageHeight = 140; ?? //紙張高度(單位mm)
var pageRecorders = parseInt((pageHeight-40)/6); ? ?//紙張高度去掉頁眉數據,去掉上面的一些標題頁碼等占用的距離,如果沒有直接寫就可以,本文高度為 6mm,所以除以6
var totalPages = 1;
if((totalRows % pageRecorders) == 0) {
totalPages = parseInt(totalRows / pageRecorders);
}else{
totalPages = parseInt(totalRows / pageRecorders) + 1;
}
if(totalPages == 1){
hasPreviousPage = false;
}else{
hasPreviousPage = true;
}
LODOP.ADD_PRINT_TEXT("30mm","12mm","22mm","5mm","記賬日期");
LODOP.ADD_PRINT_TEXT("30mm","32mm","22mm","5mm","記賬時間");
? ?LODOP.ADD_PRINT_TEXT((38+(tvalue*6))+"mm","12mm","20mm","10mm",jsonList[j].chargeDate);
? ?LODOP.ADD_PRINT_TEXT((38+(tvalue*6))+"mm","32mm","25mm","5mm",jsonList[j].chargeTime);
最后還可以加上合計等 :
LODOP.ADD_PRINT_TEXT("118mm", "12mm", "80mm", "5mm",男生: "+123+" 女生:"+guestSum);
LODOP.SET_PRINT_STYLEA(0, "PageIndex", "Last");
0 代表當前元素,pageindex代表頁碼 ?last 代表最后一頁
這樣lodop ?分頁打印就完成了。
?
轉載于:https://www.cnblogs.com/xiehaoyu/p/6229971.html
總結
以上是生活随笔為你收集整理的Lodop 分页详解,可详细了呢的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SDN/NFV运营商商业化部署
- 下一篇: 写在分类之首-----to do lis