Click here to Skip to main content
15,886,689 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Dear all, I find difficulty with scrolling table in modern browser such as IE11, Firefox, Chrome.

Before I read in
http://www.codeproject.com/Articles/14563/Fixed-headers-in-large-HTML-tables
It 's good for IE7, IE8 But it can't be fixed headear,scrolling in modern browser

<pre lang="xml">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
    &lt;title&gt;Fixed Headers&lt;/title&gt;
    &lt;style type=&quot;text/css&quot;&gt;
        body, td, p {
            font-family: Verdana;
            font-size: 10pt;
        }

        h1 {
            font-family: Verdana;
            font-size: 14pt;
        }

        table {
            border-collapse: collapse;
        }

        td, th {
            border-top: solid 1px #666666;
            border-bottom: solid 1px #666666;
            white-space: nowrap;
            padding-left: 10px;
            padding-right: 10px;
            text-align: left;
        }

        td {
            padding-top: 15px;
            padding-bottom: 20px;
            padding-right: 100px;

        }

        th {
            background-color: #00ff21;
            color: #ffffff;

        }

        #outerDiv {
            position: relative;
        }

        #innerDiv {
            overflow: auto;
        }

            #innerDiv td {
                white-space: nowrap;
            }
    &lt;/style&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
        var divContent = null;
        var divTbl = null;
        var divHeaderRow = null;
        var divHeaderColumn = null;
        var divHeaderRowColumn = null;
        var headerRowFirstColumn = null;
        var x;
        var y;
        var horizontal = false;
        var vertical = false;


        function child(elem, index) {
            // if index is not supplied, default is 1
            // you might be more comfortable making this 0-based
            // in which case change i initial assignment value to 0 too
            index = index || 1;
            // get first child element node of elem
            elem = (elem.firstChild &amp;&amp; elem.firstChild.nodeType != 1) ?
            next(elem.firstChild) :
            elem.firstChild;
            // use the index to move to nth-child element node
            for (var i = 1; i &lt; index; i++) {
                (function () {
                    return elem = next(elem);
                })();
            }
            return elem;
        }

        function next(elem) {
            do {
                elem = elem.nextSibling;
            } while (elem &amp;&amp; elem.nodeType != 1);
            return elem;
        }
        // end inspiration

        // Copy table to top and to left
        function CreateScrollHeader(content, scrollHorizontal, scrollVertical) {
            horizontal = scrollHorizontal;
            vertical = scrollVertical;

            if (content != null) {
                divContent = content;

                divTbl = child(divContent);
                var headerRow = child(child(divTbl));

                x = divTbl.offsetWidth;
                y = divTbl.offsetHeight;

                divHeaderRow = divContent.cloneNode(true);
                if (horizontal) {
                    divHeaderRow.style.height = headerRow.offsetHeight + &quot;px&quot;;
                    divHeaderRow.style.overflow = &quot;hidden&quot;;

                    divContent.parentNode.insertBefore(divHeaderRow, divContent);
                    divTbl.style.position = &quot;absolute&quot;;
                    divTbl.style.top = &quot;-&quot; + headerRow.offsetHeight + &quot;px&quot;;

                    y = y - headerRow.offsetHeight;
                }

                divHeaderRowColumn = divHeaderRow.cloneNode(true);
                headerRowFirstColumn = child(headerRow);
                divHeaderColumn = divContent.cloneNode(true);
                divContent.style.position = &quot;relative&quot;;

                if (vertical) {
                    divContent.parentNode.insertBefore(divHeaderColumn, divContent);
                    divContent.style.left = headerRowFirstColumn.offsetWidth + &quot;px&quot;;

                    divTbl.style.position = &quot;absolute&quot;;
                    divTbl.style.left = &quot;-&quot; + headerRowFirstColumn.offsetWidth + &quot;px&quot;;
                }
                else {
                    divContent.style.left = 0 + &quot;px&quot;;
                }

                if (vertical) {
                    divHeaderColumn.style.width = headerRowFirstColumn.offsetWidth + &quot;px&quot;;
                    divHeaderColumn.style.overflow = &quot;hidden&quot;;
                    divHeaderColumn.style.zIndex = &quot;99&quot;;

                    divHeaderColumn.style.position = &quot;absolute&quot;;
                    divHeaderColumn.style.left = &quot;0&quot; + &quot;px&quot;;
                    addScrollSynchronization(divHeaderColumn, divContent, &quot;vertical&quot;);
                    x = x - headerRowFirstColumn.offsetWidth;
                }

                if (horizontal) {
                    if (vertical) {
                        divContent.parentNode.insertBefore(divHeaderRowColumn, divContent);
                    }
                    divHeaderRowColumn.style.position = &quot;absolute&quot;;
                    divHeaderRowColumn.style.left = &quot;0&quot; + &quot;px&quot;;
                    divHeaderRowColumn.style.top = &quot;0&quot; + &quot;px&quot;;
                    divHeaderRowColumn.style.width = headerRowFirstColumn.offsetWidth + &quot;px&quot;;
                    divHeaderRowColumn.overflow = &quot;hidden&quot;;
                    divHeaderRowColumn.style.zIndex = &quot;100&quot;;
                    divHeaderRowColumn.style.backgroundColor = &quot;#ffffff&quot;;

                }

                if (horizontal) {
                    addScrollSynchronization(divHeaderRow, divContent, &quot;horizontal&quot;);
                }

                if (horizontal || vertical) {
                    window.onresize = ResizeScrollArea;
                    ResizeScrollArea();
                }
            }
        }


        // Resize scroll area to window size.
        function ResizeScrollArea() {
            var height = document.documentElement.clientHeight - 120;
            if (!vertical) {
                height -= divHeaderRow.offsetHeight;
            }
            var width = document.documentElement.clientWidth - 50;
            if (!horizontal) {
                width -= divHeaderColumn.offsetWidth;
            }
            var headerRowsWidth = 0;
            divTbl.style.width = x + &quot;px&quot;;
            divTbl.style.height = y + &quot;px&quot;;

            if (divHeaderRowColumn != null) {
                headerRowsWidth = divHeaderRowColumn.offsetWidth;
            }

            // width
            if (divTbl.offsetWidth &gt; width) {
                divContent.style.width = Math.max(width - headerRowsWidth, 0) + &quot;px&quot;;
                divContent.style.overflowX = &quot;scroll&quot;;
                divContent.style.overflowY = &quot;auto&quot;;
            }
            else {
                divContent.style.width = x + &quot;px&quot;;
                divContent.style.overflowX = &quot;auto&quot;;
                divContent.style.overflowY = &quot;auto&quot;;
            }

            if (divHeaderRow != null) {
                divHeaderRow.style.width = divContent.offsetWidth + headerRowsWidth + &quot;px&quot;;
            }

            // height
            if (divTbl.offsetHeight &gt; height) {
                divContent.style.height = Math.max(height, 80) + &quot;px&quot;;
                divContent.style.overflowY = &quot;scroll&quot;;
            }
            else {
                divContent.style.height = y + &quot;px&quot;;
                divContent.style.overflowY = &quot;hidden&quot;;
            }
            if (divHeaderColumn != null) {
                divHeaderColumn.style.height = divContent.offsetHeight + &quot;px&quot;;
            }

            // check scrollbars
            if (divContent.style.overflowY == &quot;scroll&quot;) {
                divContent.style.width = divContent.offsetWidth + 17 + &quot;px&quot;;
            }
            if (divContent.style.overflowX == &quot;scroll&quot;) {
                divContent.style.height = divContent.offsetHeight + 17 + &quot;px&quot;;
            }

            //  divContent.parentElement.style.width = divContent.offsetWidth + headerRowsWidth;
            divContent.parentNode.style.width = divContent.offsetWidth + headerRowsWidth + &quot;px&quot;;
        }


        // ********************************************************************************
        // Synchronize div elements when scrolling
        // from http://webfx.eae.net/dhtml/syncscroll/syncscroll.html
        // ********************************************************************************
        // This is a function that returns a function that is used
        // in the event listener
        function getOnScrollFunction(oElement) {
            return function () {
                if (oElement._scrollSyncDirection == &quot;horizontal&quot; || oElement._scrollSyncDirection == &quot;both&quot;)
                    oElement.scrollLeft = event.srcElement.scrollLeft;
                if (oElement._scrollSyncDirection == &quot;vertical&quot; || oElement._scrollSyncDirection == &quot;both&quot;)
                    oElement.scrollTop = event.srcElement.scrollTop;
            };

        }

        // This function adds scroll syncronization for the fromElement to the toElement
        // this means that the fromElement will be updated when the toElement is scrolled
        function addScrollSynchronization(fromElement, toElement, direction) {
            removeScrollSynchronization(fromElement);

            fromElement._syncScroll = getOnScrollFunction(fromElement);
            fromElement._scrollSyncDirection = direction;
            fromElement._syncTo = toElement;
            if (window.addEventListener) {
                toElement.addEventListener(&quot;onscroll&quot;, fromElement._syncScroll, false);
            }
            else
                toElement.attachEvent(&quot;onscroll&quot;, fromElement._syncScroll);
        }

        // removes the scroll synchronization for an element
        function removeScrollSynchronization(fromElement) {
            if (fromElement._syncTo != null) {
                if (window.addEventListener) {
                    toElement.addEventListener(&quot;onscroll&quot;, fromElement._syncScroll, false);
                }
                else
                    fromElement._syncTo.detachEvent(&quot;onscroll&quot;, fromElement._syncScroll);
            }

            fromElement._syncTo = null;
            fromElement._syncScroll = null;
            fromElement._scrollSyncDirection = null;
        }
    &lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h1&gt;Fixed Headers&lt;/h1&gt;
    &lt;div id=&quot;outerDiv&quot;&gt;
        &lt;div id=&quot;innerDiv&quot;&gt;
            &lt;table&gt;
                &lt;tr id=&quot;HeaderRow&quot;&gt;
                    &lt;th&gt;Table&lt;/th&gt;
                    &lt;th&gt;Column 1&lt;/th&gt;
                    &lt;th&gt;Column 2&lt;/th&gt;
                    &lt;th&gt;Column 3&lt;/th&gt;
                    &lt;th&gt;Column 4&lt;/th&gt;
                    &lt;th&gt;Column 5&lt;/th&gt;
                    &lt;th&gt;Column 6&lt;/th&gt;
                    &lt;th&gt;Column 7&lt;/th&gt;
                    &lt;th&gt;Column 8&lt;/th&gt;
                    &lt;th&gt;Column 9&lt;/th&gt;
                    &lt;th&gt;Column 10&lt;/th&gt;
                    &lt;th&gt;Column 11&lt;/th&gt;
                    &lt;th&gt;Column 12&lt;/th&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 1&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 2&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 3&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 4&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 5&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 6&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 7&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 8&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 9&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 10&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 11&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 12&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 13&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 14&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 15&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 16&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 17&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 18&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 19&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                    &lt;th&gt;Row 20&lt;/th&gt;
                    &lt;td&gt;Value 1&lt;/td&gt;
                    &lt;td&gt;Value 2&lt;/td&gt;
                    &lt;td&gt;Value 3&lt;/td&gt;
                    &lt;td&gt;Value 4&lt;/td&gt;
                    &lt;td&gt;Value 5&lt;/td&gt;
                    &lt;td&gt;Value 6&lt;/td&gt;
                    &lt;td&gt;Value 7&lt;/td&gt;
                    &lt;td&gt;Value 8&lt;/td&gt;
                    &lt;td&gt;Value 9&lt;/td&gt;
                    &lt;td&gt;Value 10&lt;/td&gt;
                    &lt;td&gt;Value 11&lt;/td&gt;
                    &lt;td&gt;Value 12&lt;/td&gt;
                &lt;/tr&gt;
            &lt;/table&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;script language=&quot;javascript&quot;&gt;
    CreateScrollHeader(document.getElementById(&quot;innerDiv&quot;), true, true);
&lt;/script&gt;</pre>
Posted
Comments
Sergey Alexandrovich Kryukov 28-Feb-15 9:13am    
Look at your code sample:
<tr>
<th>Row 4</th>
<td>Value 1</td>
<td>Value 2</td>
Is it, really? Maybe you mangled the code by escaping HTML characters?
—SA
DungPSNV 28-Feb-15 9:57am    
Please download the below file and fix it for me
http://www.mediafire.com/view/rz70f2heyvghbhf/HtmlPage.html
W Balboos, GHB 2-Mar-15 14:57pm    
I'll be polite - you're kidding, right?

Ha Ha - pretty funny.

DungPSNV 15-Mar-15 8:10am    
Please support me by fixing the first row and first column in IE11 and Chrome.
http://www.mediafire.com/view/rz70f2heyvghbhf/HtmlPage.html

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900