Rows are broken (misaligned) (IE9, Datatables 1.9.4, FixedColumns 2.0.3)
Rows are broken (misaligned) (IE9, Datatables 1.9.4, FixedColumns 2.0.3)
yvesd
Posts: 8Questions: 0Answers: 0
Hi there,
I have a (bug?) issue with Datatables 1.9.4 and FixedColumns 2.0.3, when displaying a big table in IE9 (in Standards mode): rows are misaligned/broken. The offset grows when scrolling down.
Live example (shortened): http://live.datatables.net/oduhil/3
Bad rendering picture : http://snag.gy/4sMnq.jpg
Complete HTML testcase here: http://pastebin.com/T0WTsSpc
Help :) - it's urgent :(
Yves D
I have a (bug?) issue with Datatables 1.9.4 and FixedColumns 2.0.3, when displaying a big table in IE9 (in Standards mode): rows are misaligned/broken. The offset grows when scrolling down.
Live example (shortened): http://live.datatables.net/oduhil/3
Bad rendering picture : http://snag.gy/4sMnq.jpg
Complete HTML testcase here: http://pastebin.com/T0WTsSpc
Help :) - it's urgent :(
Yves D
This discussion has been closed.
Replies
Allan
Updated live example: http://live.datatables.net/osemob
I don't know if it helps, but, the bug didn't reproduce if I add some characters to cells, like:
- code: http://live.datatables.net/eparas
- pic: http://snag.gy/i9ZXV.jpg
but, in that case, sScrollX seems not be taken into account?!
BTW, very nice plugin, thanks Allan!
Yves
I found a *very nasty* fix. :p
Altering the end of _fnEqualiseHeights (adding two pixels)
[code]
/* Can we use some kind of object detection here?! This is very nasty - damn browsers */
if ( $.browser.msie && $.browser.version < 8 )
{
this.s.dt.oInstance.oApi._fnLog( this.s.dt, 1, "MSIE < 8");
$(anClone[i]).children().height( iHeight-iBoxHack );
$(anOriginal[i]).children().height( iHeight-iBoxHack );
}
else
{
this.s.dt.oInstance.oApi._fnLog( this.s.dt, 1, "Other browser or IE >= 8");
//anClone[i].style.height = iHeight+"px";
//anOriginal[i].style.height = iHeight+"px";
anClone[i].style.height = iHeight+2+"px";
anOriginal[i].style.height = iHeight+2+"px";
}
this.s.dt.oInstance.oApi._fnLog( this.s.dt, 1, '' + iHeight + ' / ' + anClone[i].style.height + ' / ' + anOriginal[i].style.height);
[/code]
This is ugly, but seem to fix the problem. What do you think of that?
Yves
Allan
BTW, the nasty fix works with 1 added (instead of 2) too...
Yves Dessertine
- The left column (almost empty) get resized to 50 pixels
- The right part (with long values) don't get resized
Hence the idea of adding 1 or 2 pixels
Can somebody reproduce this in IE9, using the latest example? http://live.datatables.net/osemob/2
"So, right now in IE9 and FF4 you can get computed width/height values for block elements reported like "100.34px", "11.65px", etc."
Yves