Экспорт нескольких скрытых столбцов для сетки кендо

Вот код для экспорта нескольких скрытых столбцов для сетки Kendo,

var exportFlag = false;
$("#grid").data("kendoGrid").bind("excelExport", function (e) {
if (!exportFlag) {
        e.sender.showColumn(0);
        e.preventDefault();
        exportFlag = true;
        setTimeout(function () {
            e.sender.saveAsExcel();
       });
    } else {
        e.sender.hideColumn(0);
       exportFlag = false;
    }
});

В приведенном выше коде приведены e.sender.showColumn(0);и мне нужно экспортировать nколичество столбцов (экспорт в несколько скрытых столбцов), как это: e.sender.showColumn(n);.

Как это возможно?

1 ответ

  1. Вы можете иметь массив скрытых столбцов. Повторите все столбцы и, если индекс находится в массиве, покажите его.

    function isInArray(value, array) {
                    return array.indexOf(value) > -1;
                }
    
    var hidencoll = [1, 2, 3, 4]; // your hidden cols indexes
    
    for(i=0; i< grid.columns.length; i++)
                {
                    if (isInArray(i,hidencoll))
                        grid.showColumn(i); // grid.hideColumn(i);               
                }
    

    или если вы хотите первые N столбцов:

      for(i=0; i< grid.columns.length; i++)
            {
               if (i <= n)
                     grid.showColumn(i); // grid.hideColumn(i);               
            }