ExtJS Способен работать с сетками / дататорами ~ 1000 элементов? - PullRequest
0 голосов
/ 24 октября 2009

У меня есть приложение JavaScript, которое открывает окно ExtJS, содержащее панель ExtJS TabPanel, в которой есть вкладка с сеткой данных, отображающая приблизительно 900–1000 строк, каждая с 7 столбцами текстовых полей. Сетка также может быть отфильтрована, чтобы показывать около 100 строк одновременно. Когда откроется окно, переход к этой вкладке может привести к тому, что Firefox или Safari будут вращаться / блокироваться более 60 секунд ...

Это Ext 2.2

Я знаю, что очень трудно сказать без кода ... но без кода, мой вопрос: должен ли ExtJS отображать сетку с таким большим количеством данных? При попытке оптимизировать мне нужно смотреть на мой код, или проблема заключается в самом ExtJS? Кто-нибудь использует ExtJs для отображения таких больших сеток?

Ответы [ 3 ]

1 голос
/ 24 октября 2009

Не уверен, поскольку я не использовал его сам, но я сталкивался с этим, когда смотрел на компоненты сетки.

Сетка буфера ExtJS

Можно ли ограничить страницы отображением меньшего количества строк? или есть необходимость иметь 1000 на страницу (довольно много для пользователей, чтобы посмотреть). Вы можете найти, например, 250 более полезных и более эффективных одновременно?

1 голос
/ 24 октября 2009

ExtJS сам может обработать такое количество строк - у нас есть сетка, которую мы ограничили 1000 строк на сервере, но страница отображается без проблем - конечно, не занимает 60 секунд.

Некоторые другие вопросы:

  • Отправляете ли вы данные в формате XML или JSON? Мы используем JSON, загружая его непосредственно в JsonStore.
  • Проводите ли вы какую-либо обработку данных перед их обработкой?
  • Какой конкретный класс сетки вы используете?
1 голос
/ 24 октября 2009

Я не делаю это в Window / TabPanel (сетка отображается непосредственно в теле главной страницы), но я сомневаюсь, что это имеет значение. Да, Ext 2.2 должен и действительно обрабатывает 1000 строк достаточно хорошо (есть некоторая задержка, но это определенно не 60 секунд).

Что нужно учитывать:

  1. Как вы читаете данные? Требуется ли 60 секунд для рендеринга данных или значительная их часть занята загрузкой данных?
  2. Можете ли вы сделать пагинацию, скажем, с шагом 100? Или, если нет, ленивый груз?
  3. Что-нибудь еще происходит на этой странице, возможно, что приводит к этой задержке?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...