如何保持所有数据绑定,而不仅限于可见页面的数据

时间:2018-09-04 01:28:45

标签: javascript kendo-ui kendo-grid kendo-asp.net-mvc

首先,对不起我的英语水平不够。

“我的网格”在页面上显示20行。要将Excel导出与客户端模板一起使用,我使用了论坛中提供的以下资源。

function excelExportWithTemplates(e) {
    var sheet = e.workbook.sheets[0];
    var colTemplates = [];
    var data = this.dataSource.view();

    for (var i = 0; i < this.columns.length; i++) {
        if (this.columns[i].template) {
            colTemplates.push(kendo.template(this.columns[i].template));
        } else {
            colTemplates.push(null); 
        }
    }

    for (var i = 0; i < colTemplates.length; i++) {
        for (var j = 0; j < data.length; j++) {
            if (colTemplates[i] != null) {
                sheet.rows[j + 1].cells[i].value = colTemplates[i](data[j]);
            }
        }
    }      
}

例如,如果我总共有100个数据,那么只有20个数据(一个视图的大小), 其余部分无法应用。

这并不意味着 ExcelExport不能很好地工作,我的意思是带有ClientTemplate的ExcelExport只能工作20行。 (我的查看页面数量)

为此,请添加data.Source.View 我尝试将其更改为总计 总计只是计算数字, 没有进行转换。

转换所有数据 我应该将.view变成什么?

1 个答案:

答案 0 :(得分:2)

view()方法将仅返回视口上的渲染数据。请改用data()方法,该方法将返回所有dataSource的数据:

var data = this.dataSource.data();