2016-03-17 3 views
0

У меня есть страница с сеткой Kendo. Метод read от источника данных вызывает пользовательский REST API, который занимает около 15 секунд и возвращает более 2000 записей. Когда пользователь нажимает кнопку «Экспорт», просматривая вкладку «Сеть» браузера, я вижу, что метод чтения запускается снова.Kendo Grid: избегать dataSource read() при экспорте в excel

Почему функция экспорта не используется с уже загруженными записями? Я попытался удалить объекты pageSize и allPages, но ничего не изменилось.

Является ли это поведением Kendo по умолчанию? Если да, есть ли способы обхода, чтобы служба не вызывалась снова?

HTML:

<div kendo-grid="grid"</div> 

JS:

$scope.grid = { 
    dataSource: { 
     transport: { 
      read: { 
       url: "/...", 
       cache: false 
      } 
     }, 
     schema: { ... }, 
     pageSize: 20 
    }, 
    toolbar: ["excel"], 
    excel: { 
     fileName: "xxx.xlsx", 
     allPages: true 
    } 
}; 

ответ

0

Когда опция Allpages установлена ​​истина и serverPaging включена, Сетка сделает "читать" запрос для всех данных , Если элементы данных слишком много, браузер может перестать отвечать на запросы. Рассмотрим реализацию экспорта на стороне сервера для таких случаев.

Docs

Server Side Export

+0

Спасибо за быстрый ответ. Я знал об этом. Я должен был упомянуть, что я попытался удалить оба параметра allPages и pageSize, но ничего не изменилось. Я не обновил свой вопрос, включая это. – Gonzalo

Смежные вопросы