Start Building Professional
Web Apps Today


 
Categories Question details Back To List
Question  posted by Eric W. Bachtal on Feb 12, 2009 19:40
open dhtmlx forum
dhtmlxGrid pro v2.0 (build 81009/81107) splitAt IE render issue

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


Answer posted by Support on Feb 13, 2009 10:14
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 )