Skip to content

Commit 9116a86

Browse files
authored
Complex Table can't print
1 parent 0d14767 commit 9116a86

1 file changed

Lines changed: 25 additions & 10 deletions

File tree

src/extensions/print/bootstrap-table-print.js

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,34 @@
6969
}
7070
}
7171

72-
function buildTable(data,columns) {
73-
var out = "<table><thead><tr>";
74-
for(var h = 0; h < columns.length; h++) {
75-
if(!columns[h].printIgnore) {
76-
out += ("<th>"+columns[h].title+"</th>");
72+
function buildTable(data, columnsArray) {
73+
var out = "<table><thead>";
74+
for(var k = 0; k < columnsArray.length; k++) {
75+
var columns = columnsArray[k];
76+
out += "<tr>";
77+
for(var h = 0; h < columns.length; h++) {
78+
if (!columns[h].printIgnore) {
79+
out += "<th ";
80+
if (columns[h].rowspan) {
81+
out += (" rowspan='" + columns[h].rowspan + "'");
82+
}
83+
if (columns[h].colspan) {
84+
out += (" colspan='" + columns[h].colspan + "'");
85+
}
86+
out += (">" + columns[h].title + "</>");
87+
}
7788
}
89+
out += "</tr>";
7890
}
79-
out += "</tr></thead><tbody>";
91+
out += "</thead><tbody>";
8092
for(var i = 0; i < data.length; i++) {
8193
out += "<tr>";
82-
for(var j = 0; j < columns.length; j++) {
83-
if(!columns[j].printIgnore) {
84-
out += ("<td>"+ formatValue(data[i], i, columns[j])+"</td>");
94+
for(var l = 0; l < columnsArray.length; l++) {
95+
var columns = columnsArray[l];
96+
for(var j = 0; j < columns.length; j++) {
97+
if (!columns[j].printIgnore && columns[j].field) {
98+
out += ("<td>" + formatValue(data[i], i, columns[j]) + "</td>");
99+
}
85100
}
86101
}
87102
out += "</tr>";
@@ -122,7 +137,7 @@
122137
var doPrint = function (data) {
123138
data=filterRows(data,getColumnFilters(that.options.columns));
124139
data=sortRows(data,that.options.printSortColumn,that.options.printSortOrder);
125-
var table=buildTable(data,that.options.columns[0]);
140+
var table=buildTable(data,that.options.columns);
126141
var newWin = window.open("");
127142
newWin.document.write(that.options.printPageBuilder.call(this, table));
128143
newWin.print();

0 commit comments

Comments
 (0)