JQuery применяется к gridView замедляя производительность - PullRequest
0 голосов
/ 07 февраля 2012

У нас есть сетка, охватывающая 126 строк и 11 столбцов. Сетка редактируется с помощью примерно тысячи текстовых полей (я понимаю плохой дизайн, но серьезно клиент непреклонен). Поэтому в этих текстовых полях мы вызываем пользовательскую функцию jQuery для вычисления суммы и умножения по длине и ширине сетки. Пользовательский метод применяется к двум или трем строкам в группах для получения промежуточных итогов и итогов. Из-за огромного количества сгенерированных скриптов страница резко замедлилась. В сущности, когда я вписываю любое число в текстовое поле, требуется не менее 2 секунд, чтобы ответить и заполнить результаты в указанных текстовых полях.

Мы используем метод .live (), поскольку сетка находится внутри панели обновления. Любая помощь в оптимизации ужасной производительности крайне необходима и будет высоко оценена.

1 Ответ

0 голосов
/ 07 февраля 2012

Во-первых, все, что ниже, является предположением. Вы профилировали страницу, чтобы увидеть, где находятся узкие места? Есть ли публичный URL, где мы можем увидеть это в действии?

Небольшое улучшение, вероятно, может быть достигнуто переключением на .delegate() или .on() для прикрепления событий. Прикрепите событие как можно ближе к сетке. Я сомневаюсь, что это очень поможет.

По сути, это звучит так, будто вы пытаетесь реализовать электронную таблицу, поэтому я бы посоветовал использовать те же методы, что и в электронной таблице. Используйте график зависимостей, чтобы определить, что действительно нужно пересчитать при изменении ячейки. Храните промежуточные результаты вещей, которые не очень часто меняются. Вместо того, чтобы пытаться пересчитать все сразу, используйте setTimeout для расчета нескольких строк сетки за раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...