I can't suggest you real solution of the problem, but I decide to write how I interpret the problem. The short answer is: there are a bug in setFrozenColumns method in the calculation of top
position of the frozen divs. One should improve the code.
There are two divs: one for the frozen header (the div having classes frozen-div ui-jqgrid-hdiv
) and another for frozen body (the div having classes frozen-bdiv ui-jqgrid-bdiv
). If you open "Frozen Cols.Group Header(new)" / "Frozen column with group header" demo from the official jqGrid demo page and examine the value of top
attributes in different web browsers you will find out that in some browsers the value of top
should be increased or decreased to 1px to have correct view.
For example in Firefox 16 the dives has top: 24px;
and top: 70px;
and all looks OK.
In IE9 one have the same value, but to see the grid correctly one have to change the values to top: 25px;
and top: 71px;
In the same way one have the same value top: 24px;
and top: 70px;
in Chrome 22. To fix the problem one can change the values the values to top: 23px;
and top: 69px;
You can use Developer Tools of Chrome (and the same for IE) to verify that changing of top
attribute fixes the problem:

After the changes the look of the demo will be perfect at least at 100%, but if you would change zoom to 200% you will see that original values top: 24px;
and top: 70px;
are better.
I suppose that the real solution of the problem is not easy. It goes in the direction of setting height attribute on every rows of the frozen parts of the grid and on every rows of non-frozen part. In the answer you would find the first step in the direction. The disadvantage is that additional code will be required to recalculate the correct height of the row after editing.