SHAni

HTML

<div id="OperHotelGrid"></div>

CSS

</style><script src="https://cdn.jsdelivr.net/npm/handsontable@7.2.2/dist/handsontable.full.min.js"></script><link type="text/css"rel="stylesheet"href="https://cdn.jsdelivr.net/npm/handsontable@7.2.2/dist/handsontable.full.min.css">

JavaScript

var data = HotelModel.Rows;
    CopyRowStart = null;
    for (ind1 = 0; ind1 < colOrder.length; ind1++)
        if (HotelcolumnShowIndex.indexOf(colOrder[ind1]) >= 0)
            HotelcolumnShowIndexOrder.push(ind1);
    $('#OperHotelGrid').handsontable({
        data: data,
        minSpareRows: 1,
        viewportRowRenderingOffset: 150,
        viewportColumnRenderingOffset: 150,
        height: HotelModel.IsCollapsed == false ? HandsontableHeight(data.length, 15) : HandsontableHeight(data.length, 30),
        colHeaders: columnHeaders,
        colWidths: colWidth,
        contextMenu: {
            items: {
                'row_above': {}, 'row_below': {}, 'undo': {}, 'redo': {}, 'copy': {}, 'cut': {}, 'alignment': {}, 'hidden_columns_hide': {}, 'hidden_columns_show': {}, 'emailcopy': {
                    name: "Copy for Email", callback: function (key, selection, clickEvent) {
                        GetSelectedClick();
                        $(".copy-button").click();
                        $("#copy-target").remove();
                    }
                }
            }
        },
        filters: true,
        afterFilter(conditionsStack) {
            OperHotelFilter = conditionsStack;
        },
        dropdownMenu: ['filter_by_value', 'filter_action_bar'],
        hiddenColumns: {
            columns: HotelcolumnShowIndexOrder,
            indicators: true
        },
        manualColumnResize: true,
        manualColumnMove: true,
        manualRowResize: true,
        wordWrap: false,
        fixedColumnsLeft: HotelModel.PermFixColCount.OperationHotelFixedColumnCount,
        columns: columns,
        afterInit: function () {
            const filtersPlugin = this.getPlugin('filters');
            if (OperHotelFilter != undefined) {
                filtersPlugin.addCondition(OperHotelFilter);
                filtersPlugin.filter();
            }
        },
        afterSelectionEnd: function (row1, column1, row2, column2) {
           ...