lodop 报表套打分页、每页带有表头等【解决问题:每页底部最好一条数据显示不全、遗漏等问题】

function DoPrint(){//打印
         var LODOP=getLodop();
         LODOP.PRINT_INIT("test套打");
         LODOP.SET_PRINT_PAGESIZE(1, 0, 0,"A4");//设置纸张A4打印 横向
         LODOP.SET_PRINT_STYLE("Alignment",2);
            LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
         LODOP.SET_PRINT_STYLEA(0, "Horient", 2);
         LODOP.SET_PRINT_MODE("POS_BASEON_PAPER",true);//设置输出位置以纸张边缘为基点。
         LODOP.ADD_PRINT_LINE(50,65,50,700,0,1);//顶部标题底部线条
         LODOP.SET_PRINT_STYLE("FontSize",18);
         LODOP.SET_PRINT_STYLE("Bold",1);
         LODOP.ADD_PRINT_TEXT(16,65,700,30,"宿舍用量统计");
//          tableTitle()
        $.post("${ctx}/report/dormitory/consumption/getPrint",
                {"roomId":$("#roomId").val(),"floorId":$("#floorId").val(),"buildId":$("#buildId").val(),"sdt":getSdt($("#dt").val()),"edt":getEdt($("#dt").val())},
        function(data) {
            LODOP.SET_PRINT_STYLE("FontSize",10);
            LODOP.SET_PRINT_STYLE("Bold",0);
            var totalRows = data.length;//总条数
            var pageHeight = 297;    
            var hasPreviousPage = false; //是否有下一页 
            var totalPages = 1;
            var pageRecorders=parseInt((pageHeight-50)/13);      //每页条数
            if((totalRows % pageRecorders) == 0) {
                totalPages = parseInt(totalRows / pageRecorders); 
            }else{ 
                totalPages = parseInt(totalRows / pageRecorders) + 1; 
            }
            if(totalPages == 1){
                hasPreviousPage = false;
            }else{
                hasPreviousPage = true;
            }
            for(var i=0;i<totalPages;i++){            //总页数
                var tvalue = 0;
                //列头--------------------------------------------
             
  tableTitle()
                for(var j=i*pageRecorders;j<(i+1)*pageRecorders;j++){
                    if(j>=totalRows){
                        break;
                    }
                
   tableContent(tvalue,data[j]); 
                    tvalue++;
                }
                LODOP.NewPage();
            }
            LODOP.SET_PRINT_MODE("AUTO_CLOSE_PREWINDOW",1);//打印后自动关闭预览窗口
             LODOP.SET_PRINT_STYLEA(0, "Vorient", 0);
            LODOP.ADD_PRINT_TEXT(580, 660, 165, 22, "第#页/共&页");
            LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
            LODOP.SET_PRINT_STYLEA(0, "Horient", 1);
            LODOP.SET_PRINT_STYLEA(0, "Vorient", 1);    
            LODOP.PREVIEW(); 
        }); 
        
   }

function tableTitle(){//表格标题
        LODOP.SET_PRINT_STYLE("FontSize",11);
        LODOP.ADD_PRINT_LINE(80,10,80,790,0,1);//上线
        LODOP.ADD_PRINT_LINE(150,10,150,790,0,1);//下线
        LODOP.ADD_PRINT_LINE(80,10,150,10,0,1);//左线
        LODOP.ADD_PRINT_LINE(80,790,150,790,0,1);//右线    
        
        //内部竖线1
        LODOP.ADD_PRINT_LINE(80,110,150,110,0,1);
        //房间
        LODOP.ADD_PRINT_TEXT(110,10,100,30,"房间号码");
        LODOP.ADD_PRINT_LINE(115,110,115,720,0,1);
        //用电统计
        LODOP.ADD_PRINT_TEXT(95,110,305,30,"用电统计");
        LODOP.ADD_PRINT_LINE(80,415,150,415,0,1);
        LODOP.ADD_PRINT_LINE(80,720,150,720,0,1);
        //用水统计
        LODOP.ADD_PRINT_TEXT(95,400,305,30,"用水统计");
        LODOP.ADD_PRINT_LINE(115,250,150,250,0,1);//
        LODOP.ADD_PRINT_LINE(115,355,150,355,0,1);//
        LODOP.ADD_PRINT_LINE(115,415,150,415,0,1);//
        LODOP.ADD_PRINT_LINE(115,555,150,555,0,1);//
        LODOP.ADD_PRINT_LINE(115,660,150,660,0,1);//
        LODOP.ADD_PRINT_TEXT(130,110,140,30,"起止日期");
        LODOP.ADD_PRINT_TEXT(130,250,105,30,"起止表码");
        LODOP.ADD_PRINT_TEXT(130,355,60,30,"用量");
        LODOP.ADD_PRINT_TEXT(130,415,140,30,"起止日期");
        LODOP.ADD_PRINT_TEXT(130,555,105,30,"起止表码");
        LODOP.ADD_PRINT_TEXT(130,660,60,30,"用量");
        LODOP.ADD_PRINT_TEXT(110,720,60,30,"楼座");
    }
    
function tableContent(i,o){//打印后台返回json
        var h=50;
        LODOP.ADD_PRINT_LINE(150+(i+1)*h,10,150+(i+1)*h,790,0,1);//下线
        LODOP.ADD_PRINT_LINE(150+i*h,10,150+(i+1)*h,10,0,1);//左线
        LODOP.ADD_PRINT_LINE(150+i*h,790,150+(i+1)*h,790,0,1);//右线    
        LODOP.ADD_PRINT_LINE(150+i*h,110,150+(i+1)*h,110,0,1);
        LODOP.ADD_PRINT_TEXT(150+i*h+h/4,10,100,30,o.roomNo);
        LODOP.ADD_PRINT_LINE(150+i*h,250,150+(i+1)*h,250,0,1);
        LODOP.ADD_PRINT_LINE(150+i*h,355,150+(i+1)*h,355,0,1);
        LODOP.ADD_PRINT_LINE(150+i*h,415,150+(i+1)*h,415,0,1);
        LODOP.ADD_PRINT_LINE(150+i*h,555,150+(i+1)*h,555,0,1);
        LODOP.ADD_PRINT_LINE(150+i*h,660,150+(i+1)*h,660,0,1);
        LODOP.ADD_PRINT_LINE(150+i*h,720,150+(i+1)*h,720,0,1);
        LODOP.ADD_PRINT_TEXT(150+i*h+h/4,110,140,30,o.eedt);
        LODOP.ADD_PRINT_TEXT(150+i*h+h/4,250,105,30,o.eebm);
        LODOP.ADD_PRINT_TEXT(150+i*h+h/4,355,60,30,o.zongEq);
        LODOP.ADD_PRINT_TEXT(150+i*h+h/4,415,140,30,o.wedt);
        LODOP.ADD_PRINT_TEXT(150+i*h+h/4,555,105,30,o.webm);
        LODOP.ADD_PRINT_TEXT(150+i*h+h/4,660,60,30,o.zongWq);
        LODOP.ADD_PRINT_TEXT(150+i*h+h/4,720,60,30,o.buildName);
    }

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值