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;
}

    alert("頁碼 : "+totalPages);
        alert("每頁 : "+pageRecorders+"條");
        for(var i=0;i<totalPages;i++){            //總頁數
            var tvalue = 0;
            //列頭--------------------------------------------
     這里如姓名,性別,所在班級等    

    LODOP.ADD_PRINT_TEXT("30mm","12mm","22mm","5mm","記賬日期");
    LODOP.ADD_PRINT_TEXT("30mm","32mm","22mm","5mm","記賬時間");

            for(var j=i*pageRecorders;j<(i+1)*pageRecorders;j++){
                if(j>=totalRows){
                    break;
                }
            //數據---------------------------------------------    
     這里如: 小紅  女  A12班

      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);

                tvalue++;
            }
            LODOP.NewPage();
        }

最后還可以加上合計等 :

LODOP.ADD_PRINT_TEXT("118mm", "12mm", "80mm", "5mm",男生: "+123+" 女生:"+guestSum);

LODOP.SET_PRINT_STYLEA(0, "PageIndex", "Last");

0 代表當前元素,pageindex代表頁碼  last 代表最后一頁

這樣lodop  分頁打印就完成了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM