When using a splitAt(>0) IE 7 was rendering the set of frozen columns (i.e., the _fake grid) 1 or 2 pixels too tall or too short depending on the skin and !DOCTYPE (i.e., document.compatMode). This is a particularly nasty presentation issue, as the code is really very complex, with lots of conditionals and browser-specific offsets. What I did to overcome this and get a correct splitAt presentation in IE 7 regardless of skin or !DOCTYPE was to change this code in dhtmlxgrid.js:
//nb 072006:
aRow.style.height=Math.max((((gridHeight-zheight-1) < 0&&_isIE)
? 20
: (gridHeight-zheight-1))
-(this.ftr
? this.ftr.offsetHeight
: 0)-(_isIE&&(document.compatMode == “BackCompat”)&&this._fake?(this._sizeFix||0)*2:0),0)
+“px”;
To this:
var v1 = (((gridHeight-zheight-1) < 0) && _isIE) ? 20 : (gridHeight-zheight-1);
var v2 = this.ftr ? this.ftr.offsetHeight : 0;
var v3 = (_isIE && this._fake) ? (((this._sizeFix || 0) - (this._borderFix || 0)) * 1) : 0;
aRow.style.height=Math.max(v1 - v2 - v3, 0) +“px”;
Eliminates the !DOCTYPE check, takes into consideration the skin-specific borderFix, and does not double the impact of the sizeFix difference. I’m interested in hearing your thoughts on this.
Thanks in advance.
ewb
Currently we preparing next release of dhtmlxgrid, fixing visual issues for different sizing scenarios in split mode one of main goals.
As far as I can see, the fix which you propose works correctly, we will reintegrate it or something similar in oncoming release ( updated version will be release on Feb 24 )