Как хранить все данные, а не только данные видимой страницы - PullRequest
0 голосов
/ 04 сентября 2018

Во-первых, извините, мне не хватает уровня английского.

Моя сетка показывает 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 не работает хорошо, я имею в виду, ExcelExport с ClientTemplate работают только 20 строк. (количество страниц моего просмотра)

Для этого добавьте data.Source.View Я пытался изменить его до общего Всего просто считать число, Конверсия не была выполнена.

Чтобы преобразовать все данные Во что я должен превратить .view?

1 Ответ

0 голосов
/ 04 сентября 2018

Метод view() возвращает только визуализированные данные в области просмотра. Вместо этого используйте метод data(), который будет возвращать все данные источника данных:

var data = this.dataSource.data();
...