首先我們在打印之前數據肯定是要准備好的,首先把標題 題頭等信息准備好,然后循環列表采用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 分頁打印就完成了。
