Essentially, when extendLastColumn is true, all columns except the last should have the width applied. When false, All columns except the extra should have the width applied:
To correct, I've changed the block at line 731 from:
if(col.width && i < this.columns.length-1){
th.style.width = col.width;<br/>
}<br/>
<br/>
To:
<br/>
if (col.width) {
if ((this.extendLastColumn) && (i < this.columns.length-1)) {<br/>
th.style.width = col.renderWidth;<br/>
} else if (!this.extendLastColumn) {<br/>
th.style.width = col.renderWidth;<br/>
}<br/>
}
A similar change occurs at 1227:
from:
if(x < this.columns.length - 1)td.style.width = this.columns[x].width;
to:
if (this.columns[x].width) {
if ((this.extendLastColumn) && (x < this.columns.length-1)) {<br/>
td.style.width = this.columns[x].renderWidth;<br/>
} else if (!this.extendLastColumn) {<br/>
td.style.width = this.columns[x].renderWidth;<br/>
}<br/>
}
and again at 1264:
from:
else if(x < this.columns.length - 1) td.style.width = this.columns[x].width;
to:
else {
if (this.columns[x].width) {<br/>
if ((this.extendLastColumn) && (x < this.columns.length-1)) {<br/>
td.style.width = this.columns[x].renderWidth;<br/>
} else if (!this.extendLastColumn) {<br/>
td.style.width = this.columns[x].renderWidth;<br/>
}<br/>
}<br/>
}
and at 1291: (maybe we could find a way to not write this same code so many times?
from:
if(x < this.columns.length - 1){
td.style.width = this.columns[x].width;<br/>
}<br/>
<br/>
<br/>
to:
if (this.columns[x].width) {
if ((this.extendLastColumn) && (x < this.columns.length-1)) {<br/>
td.style.width = this.columns[x].renderWidth;<br/>
} else if (!this.extendLastColumn) {<br/>
td.style.width = this.columns[x].renderWidth;<br/>
}<br/>
}