Заголовок сетки перемещается при прокрутке в браузере IE11, но не в chrome и более низких версиях браузера IE? - PullRequest
0 голосов
/ 26 января 2020

WebUIGrid. css. Класс WebUIGrid_FixedHeaderClass связан с заголовком сетки.

 WebUIGrid_FixedHeaderClass class is associated with Grid Header.

        "WebUIGrid_FixedHeaderClass" class of grid header.
        .WebUIGrid_FixedHeaderClass {
            position: absolute;
            z-index: 9999999996;
            table-layout: fixed;
        }

WebUIGrid. js. Метод setupFixedHeader () вызывается во время scrolling.Grid заголовок создается динамически и присоединяется к контейнеру. С таблицей связан класс сетки "WebUIGrid_FixedHeaderClass". Это проблема IE11.objFixedHeader является идентификатором GRID. Тот же код работает в chrome и более низкой версии IE

    setupFixedHeader() method is called while scrolling.Grid header is created dynamically and attached to container.Grid class "WebUIGrid_FixedHeaderClass" is associated with table. 
Is it issue of IE11.objFixedHeader is the ID of GRID. Same code is working in chrome and lower version of IE.

                function setupFixedHeader(id)
                    {
                        var objRef = webUIClientLibrary.getObjRef(this, id);
                        if (objRef.allowFixedHeader) {
                            var ctlTable = objRef.getMainTableCtl(id);
                            if (ctlTable != null) {
                                var ctlHeaderRow = objRef.getMainTableHeaderRowCtl(id);
                                if (ctlHeaderRow != null) {
                                    // If the fixed header table does not exist, create the object - hidden at first.
                                    var idFixedHeader = id + "_FixedHeader";
                                    var idFixedHeaderRow = idFixedHeader + "_0";
                                    var objFixedHeader = null;
                                    if (document.getElementById(idFixedHeader) == null) {
                                        $("#" + ctlTable.id).after("<table id='" + idFixedHeader + "' class='WebUIGrid_FixedHeaderClass' cellpadding='0' cellspacing='0' border='0'" +
                                            ((objRef.controlWidth == "") ? "" : " width='" + objRef.controlWidth + "'") + ">" +
                                            webUIClientLibrary.replace(ctlHeaderRow.outerHTML, ctlHeaderRow.id, idFixedHeaderRow) +
                                            "</table>");
                                        objFixedHeader = $("#" + idFixedHeader);
                                        objFixedHeader.hide();
                                    }
                                    else
                                        objFixedHeader = $("#" + idFixedHeader);

                                    // The following is used to anchor the header row from the browser window.
                                    var objContainer = document.documentElement || document.body;
                                    var pTable = webUIClientLibrary.getScreenCoordinates(objRef.ctlRef);
                                    var toolbarHeight = 0;
                                    if (webUIPage.objWebUIToolBar != null)
                                        toolbarHeight = webUIPage.objWebUIToolBar.ctlRef.offsetHeight;

                                    if ((objContainer.scrollTop + toolbarHeight) > pTable.top) {
                                        //Set the absolute position for the fixed header.
                                        //objFixedHeader.css("top", objContainer.scrollTop + toolbarHeight);
                                        //It is for Grid Header fix
                                        //objFixedHeader.focus();
                                        objFixedHeader.css("top", objContainer.scrollTop);

                                        var ctlFixedHeaderRow = document.getElementById(idFixedHeaderRow);
                                        var objFixedHeaderCell = null;
                                        var objHeaderCell = null;
                                        var i = 0;

                                        // Make sure the widths each fixed header cell are the same as for the main header row.
                                        while (i < ctlFixedHeaderRow.cells.length) {
                                            objFixedHeaderCell = ctlFixedHeaderRow.cells[i];
                                            objHeaderCell = ctlHeaderRow.cells[i];

                                            // Subtract any left and right padding from the cell width to compensate for padding
                                            // added in the stylesheet and style configurations (assume px as the unit).
                                            objFixedHeaderCell.style.width = objHeaderCell.offsetWidth - objRef.cellPaddingOffset
                                                - webUIClientLibrary.pxToInt(objHeaderCell.style.paddingLeft)
                                                - webUIClientLibrary.pxToInt(objHeaderCell.style.paddingRight);

                                            i++;
                                        }

                                        objFixedHeader.show();
                                    }
                                    else
                                        objFixedHeader.hide();
                                }
                            }
                        }    
                    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...