Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 剑道格网不';t为可见列提供数据_Jquery_Angular_Kendo Ui_Kendo Grid - Fatal编程技术网

Jquery 剑道格网不';t为可见列提供数据

Jquery 剑道格网不';t为可见列提供数据,jquery,angular,kendo-ui,kendo-grid,Jquery,Angular,Kendo Ui,Kendo Grid,我在做一个小的Angular和JQuery混合项目。我们有一个剑道格网。我添加了将剑道网格导出为excel文件的功能。所以,我遵循了一些文档,并且工作得很好 然而,这个项目有点奇怪。假设我们有一个有40列的数据源。但是,以编程方式,我们隐藏了一些列。 因此,我需要能够只导出可见列。我尝试了几种方法来获得唯一可见的列,但剑道给了我所有的列。。。隐藏的和可见的 此外,它并没有按照网页上可见的列顺序保存Excel 我试过以下几句话: var _grid = $("#myGrid").data("ken

我在做一个小的Angular和JQuery混合项目。我们有一个剑道格网。我添加了将剑道网格导出为excel文件的功能。所以,我遵循了一些文档,并且工作得很好

然而,这个项目有点奇怪。假设我们有一个有40列的数据源。但是,以编程方式,我们隐藏了一些列。 因此,我需要能够只导出可见列。我尝试了几种方法来获得唯一可见的列,但剑道给了我所有的列。。。隐藏的和可见的

此外,它并没有按照网页上可见的列顺序保存Excel

我试过以下几句话:

var _grid = $("#myGrid").data("kendoGrid").dataSource.data();
var _grid_ = $("#myGrid").data().kendoGrid.dataSource.view().filter(item => !item.hidden);
var __grid__ = $("#myGrid").data("kendoGrid").columns.filter(item => !item.hidden);
不幸的是,
\u grid
\u grid
正在返回所有列的数据,即可见和隐藏的数据。 然而,正如预期的那样,
\uuuuuu网格
只给出了列名

我错在哪里?我做错了什么

我只需要可见列的数据。。。并按它们在网页上出现的顺序排列。
有人能帮我吗。

尝试将隐藏列放在网格的末尾,然后在导出时将其清空

在网格选项中处理excelExport事件时

excelExport: this.handleExcelExport
然后,如果您知道要隐藏哪些列

private handleExcelExport(e){
    var sheet = e.workbook.sheets[0];
    let columnsToHide = [5,6]; 
    sheet.rows.forEach(row =>{
       columnsToHide.forEach(column =>{
           row.cells[column] = null;
       })
    })
}