
onPrintButtonPressed: function(){
//this print data model i have created on filtering the data, in similar way or any other method you to get the data required for print in a array like below
var getModel = this.getView().getModel("printDataModel").getData();
// the below line will pass the collected print data into the function which we have created for printing the report
this.printLayoutCreator(getModel)
}
printLayoutCreator: function (path) {
var pageno = 0;
var totcnt;
for (totcnt = 0; totcnt <= path.length - 1; totcnt++) {
var totalPages = path.length ;
var pageno = pageno + 1;
var test = "";
// The below If loop is created for adjusting the layout as per the landscape layout adjustments as per the pages that is been aksed to print
if (path.length === 1) {
var tabless =
"<br><body><div style='box-sizing: content-box; width: 1000px; height: 680px; border: 0px solid black;' class='table-responsive'>";
} else {
if (totcnt === 0) {
var tabless =
"<br><body><div style='box-sizing: content-box; width: 1000px; height: 711px; border: 0px solid black;' class='table-responsive'>";
} else if (totcnt === path.length - 1) {
var tabless =
"<div style='box-sizing: content-box; width: 1000px; height: 690px; border: 0px solid black;' class='table-responsive'>";
} else {
var tabless =
"<div style='box-sizing: content-box; width: 1000px; height: 710px; border: 0px solid black;' class='table-responsive'>";
}
}
//creating a header for print layout
var Table1 =
"<table width='1000px'><tr><td style=' padding-left: 367px; width: 488.333;font-family: calibri;font-size: 20px;'><b>HEADER</b></td><td><table><tr><td style='font-family: calibri;font-size: 11px;'>Date:" +
" " + ""+ "</td></tr><tr><td style='font-family: calibri;font-size: 11px;'>Time:" + " " + "Value"+
"</td></tr><tr><td style='font-family: calibri;font-size: 11px;'>Value:" + " " + "Value" +
"</td></tr></table></td></tr></table><hr><div><table class='table' width='1000px' style=''><tr align='center' ><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 40%;' align='left'>" +
"<b>Value</b>" + ": " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 40%;' align='left'>" +
"<b>Value</b>" + ": " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"<b>Value</b>" + ": " + path[totcnt].data +
"</td></tr></table></div>" +
"<div class='table-responsive'><table class='table' width='1000px' style=''><tr align='left' ><td style='font-size: 11px;font-family: calibri;box-sizing: content-box;border: 0px solid black;width: 40%;' align='left'><b>" +
"Value" + "</b>: " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-family: calibri;font-size: 11px;border: 0px solid black;width: 40%;' align='left'>" +
"<b>Value</b>" + ": " +path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"<b>Value</b>" + ": " + path[totcnt].data +
"</td></tr></table></div>" +
"<div class='table-responsive'><table class='table' width='1000px' style=''><tr align='left' ><td style='font-size: 11px;font-family: calibri;box-sizing: content-box;border: 0px solid black;width: 40%;' align='left'>" +
"<b>Value</b>" + ": " + path[totcnt].data +
"</td><td style='font-size: 11px;font-family: calibri;box-sizing: content-box;border: 0px solid black;width: 40%;' align='left'>" +
"<b>Value</b>" + ": " + path[totcnt].data +
"</td><td style='font-size: 11px;font-family: calibri;box-sizing: content-box;border: 0px solid black;width: 20%;' align='left'>" +
"<b>Value</b>" + ": " + path[totcnt].data +
"</td></tr></table></div>" +
"<div class='table-responsive'><table class='table' width='1000px' style=''><tr align='left' ><td style='font-size: 11px;font-family: calibri;box-sizing: content-box;border: 0px solid black;width: 40%;' align='left'>" +
"<b>Value</b>" + ": " + path[totcnt].data +
"</td></tr></table></div><hr>";
//creating a inner table for print layout
var Table2 =
"<div class='table-responsive' style='height:380px; width: 1000px;'><table class='table' style='border-collapse: collapse; width: 1000px;'>";
var Table22 =
"<tr><th style=' text-align: left;font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; text-align: left;width: 5%;'>TableHeader</th><th style='text-align: left;width:4.7%; font-size: 11px; font-family: calibri; text-align: left; '>TableHeader</th>" +
"<th style=' text-align: left;font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; text-align: left;width: 18.4%;'>TableHeader</th><th style='text-align: left;width:6.7%; font-size: 11px; font-family: calibri; text-align: left; '>TableHeader</th>" +
"<th style=' text-align: left; font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; text-align: left;width: 7.7%;'>TableHeader</th><th style='text-align: left;width:7.7%; font-size: 11px; font-family: calibri; text-align: left; '>TableHeader</th>" +
"<th style=' text-align: left;font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; text-align: left;width: 7.7%;'>TableHeader</th><th style='text-align: left;width:4.7%; font-size: 11px; font-family: calibri; text-align: left; '>TableHeader</th>" +
"<th style=' text-align: left;font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; text-align: left;width: 6.7%;'>TableHeader</th><th style='text-align: left;width:8.7%; font-size: 11px; font-family: calibri; text-align: left; '>TableHeader</th>" +
"<th style=' text-align: left;font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; text-align: left;width: 8.7%;'>TableHeader</th><th style='text-align: left;width:8.7%; font-size: 11px; font-family: calibri; text-align: left; '>TableHeader</th>" +
"</tr></table><hr>";
Table2 = Table2 + Table22;
var innerData = path[totcnt].InnerTableArray // i have a another array data set inside a row in my data
var cnt;
for (cnt = 0; cnt < innerData.length; cnt++) {
var table3 =
"<table class='table' style='border-collapse: collapse; width: 1000px;'><tr style='height: 30px'><td style=' text-align: left; font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; width: 5%;'>" +
innerData[cnt].data+
"</td><td style='text-align: left;width:4.7%; font-size: 11px; font-family: calibri; '>" + innerData[cnt].data +
"</td>" +
"<td style=' text-align: left;font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; width: 18.4%;'>" +
innerData[cnt].data +
"</td><td style='text-align: left;width:6.7%; font-size: 11px; font-family: calibri; '>" + innerData[cnt].data +
"</td>" +
"<td style=' text-align: left; font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; width: 7.7%;'>" +
"" +
"</td><td style='text-align: left;width:7.7%; font-size: 11px; font-family: calibri; '>" + innerData[cnt].data +
"</td>" +
"<td style=' text-align: left;font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; width: 7.7%;'>" +
innerData[cnt].data +
"</td><td style='text-align: left;width:4.7%; font-size: 11px; font-family: calibri; '>" + innerData[cnt].data +
"</td>" +
"<td style=' text-align: left; font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; width: 6.7%;'>" +
innerData[cnt].data +
"</td><td style='text-align: left;width:8.7%; font-size: 11px; font-family: calibri; '>" + innerData[cnt].data + "</td>" +
"<td style=' text-align: left;font-size: 11px;font-size: 11px;font-size: 11px;font-family: calibri; width: 8.7%;'>" +
innerData[cnt].data +
"</td><td style='text-align: left;width:8.7%; font-size: 11px; font-family: calibri; '>" + innerData[cnt].data +
"</td>" +
"</tr>";
Table2 = Table2 + table3;
}
Table2 = Table2 + "</table></div>";
//creating a footerLayout for print layout
var Table4 =
"<h3 style='font-family: calibri; font-size: 14px;'>Inner Table</h3><hr><div style='box-sizing: content-box; width: 1000px; border: 0px solid black;' class='table-responsive'><div><table class='table' width='1000px' style='height: 25px;'><tr align='center' ><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value: " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value: " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value: " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value: " + path[totcnt].data +
"</td></tr>" +
"<tr align='center' ><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 10%;' align='left'>" +
path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value: " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value: " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"</td></tr>" +
"<tr align='center' ><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value" +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value: " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Value: " + path[totcnt].data +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"</td><td style='box-sizing: content-box;font-size: 11px;border: 0px solid black;font-family: calibri;width: 20%;' align='left'>" +
"Page:" + pageno + "/" + totalPages +
"</td></tr></table></div></div></div>";
var ctrlString = "width=500px,height=600px";
var wind = window.open("", "PrintWindow", ctrlString);
test = test + tabless + Table1 +
Table2 + "<hr>" + Table4;
if (wind !== undefined) {
wind.document.write(test);
}
// Creating a small time delay so that the layout renders
if (totcnt === path.length - 1) {
setTimeout(function () {
wind.print();
wind.close();
}, 500);
}
}
},
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
9 | |
9 | |
6 | |
5 | |
5 | |
5 | |
4 | |
4 | |
4 |