有关easyui打印中应用插件Lodop,非常好用
2015-11-05 18:23
369 查看
最近在做公司的一个项目,其中本来程序调用的是浏览器中的打印方法,这种方法灵活度不够,很难去调试,想的用Lodop结合一下公司应用的essyui 打印,但是在网上找了很久,几乎没有人分享这方面的知识,是在没有办法,自己就去研究了,经过自己研究,终于让我写出来,这里和大家一起分享,当然其中遇到不少问题
话不多说,下面代码粘贴出来让大家来参考,第一次写博文,随便写的,就是想把这个方法分享给大家,顺便提一句话,因为涉及到前面数据要在表中后面列算出来每一行中一些数据的和,所以里面出现了很多的sum,这个大家用到就可以用,没有用到后面的求和不用,这个就是用push方法来拼接table表格,然后打印出来,希望大家有帮助,如果不懂可以给我留言,一起讨论,我也是菜鸟一个
print:function(){
var LODOP = LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
LODOP.PRINT_INITA(0, 0, 1400, 600, "");
LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
LODOP.ADD_PRINT_TEXT(1050, 1200, 144, 22, "第#页/共&页");
LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
LODOP.SET_PRINT_STYLEA(0, "Horient", 1);
var rows = $("#box").datagrid("getRows");
var opts=$('#box').datagrid("options");//返回属性对象
var prinHtml=[];//准备一个数组
var sumCQ=0;//出勤和
var sumGC=0;//公出和
var sumBJ=0;//病假和
var sumGS=0;
var sumDYB=0;
var sumXYB=0;
var sumCJ=0;
var sumSJ=0;
var sumHSJ=0;
var sumTQ=0;
prinHtml.push("<table cellpadding=\"0\" cellspacing=\"0\" border=\"1\" style=\"width:" +98+ "%; border-collapse:collapse;border:inhert;font-size:12px;\">");
prinHtml.push("<tr>");
for (var i = 0; i < opts.columns[0].length; i++) {
if(opts.columns[0][i].title!='录入时间'){
prinHtml.push("<th>"+ opts.columns[0][i].title+" </th>");
}
}
prinHtml.push("</tr>");
for (var i = 0; i < rows.length; i++) {
var tr=rows[i];
prinHtml.push("<tr style=\"border:1px solid #0094ff;padding:3px;text-align:center;\">");
//方法1遍历
// for (var name in cols) {
// prinHtml.push("<td style=\"border:1px solid #0094ff;padding:3px;text-align:center;\">" + tr[cols[name]] + "</td>");
//
// }
//方法2遍历
for (var j = 0; j< opts.columns[0].length; j++) {
//如果字段值 为0,4,8那么sumCQ+1 可以用swich case 写
if( tr[opts.columns[0][j].field]==='0'|| tr[opts.columns[0][j].field]==='4'||tr[opts.columns[0][j].field]==='8') {
sumCQ+=1;
}
if(tr[opts.columns[0][j].field]==='公'){
sumGC+=1;
}
if(tr[opts.columns[0][j].field]==='病'){
sumBJ+=1;
}
if(tr[opts.columns[0][j].field]==='伤'){
sumGS+=1;
}
if(tr[opts.columns[0][j].field]==='大'){
sumDYB+=1;
}
if(tr[opts.columns[0][j].field]==='小'){
sumXYB+=1;
}
if(tr[opts.columns[0][j].field]==='产'){
sumCJ+=1;
}
if(tr[opts.columns[0][j].field]==='事'){
sumSJ+=1;
}
if(tr[opts.columns[0][j].field]==='婚'||tr[opts.columns[0][j].field]==='丧'){
sumHSJ+=1;
}
if(tr[opts.columns[0][j].field]==='探'){
sumTQ+=1;
}
if(opts.columns[0][j].field==='sumChuQin'){
prinHtml.push("<td >" + sumCQ + "</td> ");
}
if(opts.columns[0][j].field==='sumGongChu'){
prinHtml.push("<td >" + sumGC + "</td> ");
}
if(opts.columns[0][j].field==='sumBinJia'){
prinHtml.push("<td >" + sumBJ + "</td> ");
}
if(opts.columns[0][j].field==='sumGongShang'){
prinHtml.push("<td>" + sumGS + "</td> ");
}
if(opts.columns[0][j].field==='sumDayeBan'){
prinHtml.push("<td>" + sumDYB + "</td> ");
}
if(opts.columns[0][j].f
90a7
ield==='sumXiaoYeBan'){
prinHtml.push("<td>" + sumXYB + "</td> ");
}
if(opts.columns[0][j].field==='sumChanJia'){
prinHtml.push("<td>" + sumCJ + "</td> ");
}
if(opts.columns[0][j].field==='sumShiJia'){
prinHtml.push("<td>" + sumSJ + "</td> ");
}
if(opts.columns[0][j].field==='sumHunSangJia'){
prinHtml.push("<td>" + sumHSJ + "</td> ");
}
if(opts.columns[0][j].field==='sumTanQin'){
prinHtml.push("<td>" + sumTQ + "</td> ");
}
if(opts.columns[0][j].field!='sumChuQin'&&opts.columns[0][j].field!='sumGongChu'&&opts.columns[0][j].field!='sumBinJia'&&opts.columns[0][j].field!='sumGongShang'&&opts.columns[0][j].field!='sumDayeBan'&&opts.columns[0][j].field!='sumXiaoYeBan'&&opts.columns[0][j].field!='sumChanJia'&&opts.columns[0][j].field!='sumShiJia'&&opts.columns[0][j].field!='sumHunSangJia'&&opts.columns[0][j].field!='sumTanQin'&&opts.columns[0][j].field!='InsertTime')
{
prinHtml.push("<td >" +tr[opts.columns[0][j].field] + "</td>");
}
}
sumCQ=0;
sumGC=0;//公出和
sumBJ=0;//病假和
sumGS=0;
sumDYB=0;
sumXYB=0;
sumCJ=0;
sumSJ=0;
sumHSJ=0;
sumTQ=0;
prinHtml.push("</tr>");
}
prinHtml.push("</table>");
话不多说,下面代码粘贴出来让大家来参考,第一次写博文,随便写的,就是想把这个方法分享给大家,顺便提一句话,因为涉及到前面数据要在表中后面列算出来每一行中一些数据的和,所以里面出现了很多的sum,这个大家用到就可以用,没有用到后面的求和不用,这个就是用push方法来拼接table表格,然后打印出来,希望大家有帮助,如果不懂可以给我留言,一起讨论,我也是菜鸟一个
print:function(){
var LODOP = LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
LODOP.PRINT_INITA(0, 0, 1400, 600, "");
LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
LODOP.ADD_PRINT_TEXT(1050, 1200, 144, 22, "第#页/共&页");
LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
LODOP.SET_PRINT_STYLEA(0, "Horient", 1);
var rows = $("#box").datagrid("getRows");
var opts=$('#box').datagrid("options");//返回属性对象
var prinHtml=[];//准备一个数组
var sumCQ=0;//出勤和
var sumGC=0;//公出和
var sumBJ=0;//病假和
var sumGS=0;
var sumDYB=0;
var sumXYB=0;
var sumCJ=0;
var sumSJ=0;
var sumHSJ=0;
var sumTQ=0;
prinHtml.push("<table cellpadding=\"0\" cellspacing=\"0\" border=\"1\" style=\"width:" +98+ "%; border-collapse:collapse;border:inhert;font-size:12px;\">");
prinHtml.push("<tr>");
for (var i = 0; i < opts.columns[0].length; i++) {
if(opts.columns[0][i].title!='录入时间'){
prinHtml.push("<th>"+ opts.columns[0][i].title+" </th>");
}
}
prinHtml.push("</tr>");
for (var i = 0; i < rows.length; i++) {
var tr=rows[i];
prinHtml.push("<tr style=\"border:1px solid #0094ff;padding:3px;text-align:center;\">");
//方法1遍历
// for (var name in cols) {
// prinHtml.push("<td style=\"border:1px solid #0094ff;padding:3px;text-align:center;\">" + tr[cols[name]] + "</td>");
//
// }
//方法2遍历
for (var j = 0; j< opts.columns[0].length; j++) {
//如果字段值 为0,4,8那么sumCQ+1 可以用swich case 写
if( tr[opts.columns[0][j].field]==='0'|| tr[opts.columns[0][j].field]==='4'||tr[opts.columns[0][j].field]==='8') {
sumCQ+=1;
}
if(tr[opts.columns[0][j].field]==='公'){
sumGC+=1;
}
if(tr[opts.columns[0][j].field]==='病'){
sumBJ+=1;
}
if(tr[opts.columns[0][j].field]==='伤'){
sumGS+=1;
}
if(tr[opts.columns[0][j].field]==='大'){
sumDYB+=1;
}
if(tr[opts.columns[0][j].field]==='小'){
sumXYB+=1;
}
if(tr[opts.columns[0][j].field]==='产'){
sumCJ+=1;
}
if(tr[opts.columns[0][j].field]==='事'){
sumSJ+=1;
}
if(tr[opts.columns[0][j].field]==='婚'||tr[opts.columns[0][j].field]==='丧'){
sumHSJ+=1;
}
if(tr[opts.columns[0][j].field]==='探'){
sumTQ+=1;
}
if(opts.columns[0][j].field==='sumChuQin'){
prinHtml.push("<td >" + sumCQ + "</td> ");
}
if(opts.columns[0][j].field==='sumGongChu'){
prinHtml.push("<td >" + sumGC + "</td> ");
}
if(opts.columns[0][j].field==='sumBinJia'){
prinHtml.push("<td >" + sumBJ + "</td> ");
}
if(opts.columns[0][j].field==='sumGongShang'){
prinHtml.push("<td>" + sumGS + "</td> ");
}
if(opts.columns[0][j].field==='sumDayeBan'){
prinHtml.push("<td>" + sumDYB + "</td> ");
}
if(opts.columns[0][j].f
90a7
ield==='sumXiaoYeBan'){
prinHtml.push("<td>" + sumXYB + "</td> ");
}
if(opts.columns[0][j].field==='sumChanJia'){
prinHtml.push("<td>" + sumCJ + "</td> ");
}
if(opts.columns[0][j].field==='sumShiJia'){
prinHtml.push("<td>" + sumSJ + "</td> ");
}
if(opts.columns[0][j].field==='sumHunSangJia'){
prinHtml.push("<td>" + sumHSJ + "</td> ");
}
if(opts.columns[0][j].field==='sumTanQin'){
prinHtml.push("<td>" + sumTQ + "</td> ");
}
if(opts.columns[0][j].field!='sumChuQin'&&opts.columns[0][j].field!='sumGongChu'&&opts.columns[0][j].field!='sumBinJia'&&opts.columns[0][j].field!='sumGongShang'&&opts.columns[0][j].field!='sumDayeBan'&&opts.columns[0][j].field!='sumXiaoYeBan'&&opts.columns[0][j].field!='sumChanJia'&&opts.columns[0][j].field!='sumShiJia'&&opts.columns[0][j].field!='sumHunSangJia'&&opts.columns[0][j].field!='sumTanQin'&&opts.columns[0][j].field!='InsertTime')
{
prinHtml.push("<td >" +tr[opts.columns[0][j].field] + "</td>");
}
}
sumCQ=0;
sumGC=0;//公出和
sumBJ=0;//病假和
sumGS=0;
sumDYB=0;
sumXYB=0;
sumCJ=0;
sumSJ=0;
sumHSJ=0;
sumTQ=0;
prinHtml.push("</tr>");
}
prinHtml.push("</table>");
相关文章推荐
- [note]Why I haven’t quit my corporate job (yet)
- C# this.invoke()作用 多线程操作UI
- 3.30uitableview的知识点
- UIButton 如何设置为圆角矩形
- UIViewController中edgesForExtendedLayout属性的画面切断现象
- iOS开发--UIDatePicker
- UITextField (文本输入框基本设置和代理)
- 黑马程序员——JAVA基础----GUI
- IOS学习路线:IOS UI状态保持与恢复
- Qt数据库 QSqlQueryModel实例操作
- BuildConfig 中 DEBUG的作用
- [hadoop2.7.1]I/O之“泥坯块”SequenceFile前序知识
- 百度ueditor 拖文件或world 里面复制粘贴图片到编辑中 上传到第三方问题
- tornado 学习笔记8 模板以及UI
- [BZOJ 2079] Poi 2010 Guilds · 思路题
- 百度自动更新SDK的’requiresFadingEdge’错误
- EasyUi之datagird解读
- POJ-2533Longest Ordered Subsequence(LIS)
- EasyUI - 后台管理系统 - 登陆模块
- UITextView编辑时插入自定义表情-简单的图文混编