JLynch7 / SlickGrid

A lightning fast JavaScript grid/spreadsheet

Home Page:https://github.com/jlynch7/SlickGrid/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Right pane doesn't render a cell when grouping is enabled

JLynch7 opened this issue · comments

Possible solution:
.slick-viewport-left .slick-group .slick-cell {
border-right: 0px;
}

    function appendRowHtml(stringArrayL, stringArrayR, row, range) {
        var d = getDataItem(row);
        var dataLoading = row < getDataLength() && !d;
        var rowCss = "slick-row" +
            (dataLoading ? " loading" : "") +
            (row === activeRow ? " active" : "") +
            (row % 2 == 1 ? " odd" : " even");

        var metadata = data.getItemMetadata && data.getItemMetadata(row);

        if (metadata && metadata.cssClasses) {
            rowCss += " " + metadata.cssClasses;
        }

        var frozenRowOffset = getFrozenRowOffset( row );

        var rowHtml = "<div class='ui-widget-content " + rowCss + "' style='top:"
                    + (getRowTop(row) - frozenRowOffset )
                    + "px'>";

        stringArrayL.push(rowHtml);

        if (options.frozenColumn > -1) {
            stringArrayR.push(rowHtml);
        }

        var colspan, m;
        var isMetaRow = false;
        for (var i = 0, ii = columns.length; i < ii; i++) {
            m = columns[i];
            colspan = 1;
            if (metadata && metadata.columns) {
                isMetaRow = true;
                var columnData = metadata.columns[m.id] || metadata.columns[i];
                if ( isMetaRow ) {
                    colspan = "*";
                } else {
                    colspan = (columnData && columnData.colspan) || 1;
                }
                if (colspan === "*") {
                    if ( ( options.frozenColumn > -1 ) && ( i < options.frozenColumn ) ) {
                        colspan = options.frozenColumn - i + 1;
                    } else {
                        colspan = ii - i;
                    }
                }
            }

            // Do not render cells outside of the viewport.
            if (columnPosRight[Math.min(ii - 1, i + colspan - 1)] > range.leftPx) {
                if (columnPosLeft[i] > range.rightPx) {
                    // All columns to the right are outside the range.
                    break;
                }

                if ( ( options.frozenColumn > -1 ) && ( i > options.frozenColumn ) ) {
                    appendCellHtml(stringArrayR, row, i, colspan);
                } else {
                    appendCellHtml(stringArrayL, row, i, colspan);
                }
            } else if ( ( options.frozenColumn > -1 ) && ( i <= options.frozenColumn ) ) {
                appendCellHtml(stringArrayL, row, i, colspan);
            }

            if (colspan > 1) {
                i += (colspan - 1);
            }
        }

        stringArrayL.push("</div>");

        if (options.frozenColumn > -1) {
            stringArrayR.push("</div>");
        }
    }