Поскольку это огромный пост здесь краткое резюме (пожалуйста, прочитайте отверстие сообщение, если вы хотите, чтобы ответить хотя):Что JQuery сетки поддерживает непрерывный поток обновлений (JSon)
Реализовано Сейчас:
- Сайт тянет много JSON (полный набор данных каждый раз ~ 30kb, уже архивированная)
- Предоставляет данные в виде HTML таблицы стороне клиента
- Слишком много трафика
- Слишком длительное время рендеринга
Ссылка на одном из сайтов: Sample
Мы уже реализованного извлечение неполных данных, что нам нужно сейчас, чтобы найти решение, которое:
- Только визуал для внесения изменений
- Вспышка обновленных ячеек
Вопрос: Какая сетка или другие решения существуют, чтобы это произошло?
UPDATE: клиент хочет, чтобы увидеть все доступные данные сразу, не пейджинг.
Полное описание:
В нашем приложении мы должны отображать определенное количество строк (~ 300-1000) в сетке. Посетители могут сортировать (на стороне клиента), щелкая на заголовках. Кроме того, каждая строка содержит несколько ссылок, которые открывают iframe, используя colorbox.
Данные
- обновляется каждые 30 секунд (JSON от сервера)
- состоит из нескольких полей (строк, INTS и десятичные).
- только десятичные разряды, хотя меняются, это означает, что ссылки (ColorBox) остаются такими же, как хорошо
- не отображаются все данные, некоторые используются только для сортировки
стороны клиента В настоящее время мы используем сочетание jTemplates, tablesorter и colorbox, чтобы отобразить весь набор данных json в таблице html.В настоящее время поток:
- извлечь данные с сервера (полный набор данных)
- визуализации данных в HTML с использованием jTemplates
- Initialize Colorbox для таблицы
- Initialize TableSorter для таблицы
- Start снова из № 1
Решение выше работает, но есть некоторые проблемы:
- Множество дубликатов данных получает переносной. Это добавляет довольно быстро (> 5Гб/день)
- Визуализация данных занимает довольно некоторое время (~ 300мс), его хуже на мобильные телефоны
- переинициализации ColorBox и TableSorter каждый раз, когда потребуется некоторое время, а также (~ 400мс), также хуже на мобильные телефоны
Таким образом, наша цель состоит в том, чтобы просто перенести обновленным и новые данные через JSON. Каждая строка имеет простой уникальный ключ (int), поэтому их можно легко идентифицировать.
Дополнительно мы хотим, чтобы flash контейнер обновленных или недавно вставленных данных, в качестве уведомления пользователя о произошедших изменениях.
Поток мы имеем в виду:
- Получить данные в формате JSON от сервера (полный комплект)
- Визуализировать сетку с сортировкой и инициализирует Colorbox ссылки
- Получить JSon данные с сервера (только обновленные значения и новые строки)
- Обновление сетки (только измененные значения и новые строки) < - также вспышки значение containter после обновления
- Start снова с # 3
Так сетками мы ищем потребность для поддержки ЗАГРУЗКИ данных в виде отверстия, а также загрузки только обновленным значения.
Полный набор данных будет выглядеть следующим образом:
{
[
{
"key":1,
"StaticProperty":"value3",
"PropertyOne":2.85 ,
"PropertyTwo":1.99
},
{
"key":2,
"StaticProperty":"value2",
"PropertyOne":5.66,
"PropertyTwo":7.36
},
{
"key":3,
"StaticProperty":"value3",
"PropertyOne":1.78,
"PropertyTwo":9.31
},
{
"key":4,
"StaticProperty":"value4",
"PropertyOne":1.78,
"PropertyTwo":9.31
},
{
"key":5,
"StaticProperty":"value5",
"PropertyOne":1.78,
"PropertyTwo":9.31
}
]
};
Набор данных обновления будет выглядеть (Remeber он будет содержать только измененные значения):
{
"updates" : [
{
"key":1,
"PropertyOne":4.88
},
{
"key":2,
"PropertyOne":2.77,
"PropertyTwo":3.88
},
{
"key":6,
"StaticProperty":"value6",
"PropertyOne":7.23,
"PropertyTwo":8.42
}
],
"deletes" : [ 4, 5 ]
};
Как вы можете видеть обновление может содержать:
- частичные обновления (ID # 1)
- несколько обновлений в строку (ID # 2)
- нет обновлений для существующих строк (ID # 3)
- идентификаторов удаленных строк, как простой массив (ID # 4, # 5)
- новых строк (ID # 6)
что нам нужно, это сетка или другие предложения, которые qould делают нас способными обрабатывать все указанные операции.
У нас уже есть способ убедиться, что данные никогда не повреждаются (уже обрабатываются на сервере и на стороне клиента), поэтому его действительно просто около , отображающий данные и сохраняющий отображение в актуальном состоянии.
Все данные с благодарностью.
Thx для наконечника.Это на самом деле уже происходит, мы используем функцию ajax jquery, проблема заключается в том, чтобы больше обновлять значения в ui и скорость рендеринга. я предпочел бы использовать существующий компонент, чем это делать пешком;) – ntziolis
У меня есть часть приложения, над которым я работаю, что полностью возвращает repearter, а затем я возвращаюсь (функция щелчка) и должен обновлять определенные разделы из Интернета источник сервиса ... он берет навсегда, если я пытаюсь сделать все сразу, вот почему я поднял ajax ... я люблю материал. – Patrick
Привет, sry для более позднего ответа, как я уже говорил, прежде чем мы уже используем запросы ajax, чтобы вытащить данные с сервера. Чего мы хотим избежать, это вручную обновление значений в DOM. По-видимому, похоже, что такого компонента нет :( – ntziolis