Рендеринг клиентской таблицы с очень большими таблицами данных - PullRequest
1 голос
/ 09 декабря 2008

Проблема: Заказчик X попросил, чтобы страницы, использующие таблицы привязки данных XML и таблицы данных в MSIE, были повторно проанализированы для работы в кросс-браузерном режиме.

Вопрос: Каков наилучший способ имитации функции MSIE DataBinding кросс-браузера MSIE (т. Е. В MSIE и Firefox).

Особенности: Клиент X уже получает следующее, используя MSIE DataBinding на одной веб-странице ...

  • a XML-дамп с одним URL полностью как источник данных (предполагается, что нет подкачки на стороне сервера и нет междоменных проблем)
  • разметка веб-страницы, которая не делает ничего, кроме указания URL источника данных (так же, как MSIE)
  • возможность загружать очень большие таблицы (например, минимум 3 тыс. Записей) без запуска ошибок javascript "нехватка памяти" или "задержка" на стороне клиента
  • возможность выполнять это в обычном элементе таблицы HTML с возможностью чередования строк (необязательно, но не обязательно, так как MSIE этого еще не делает)

Справочная информация: Возможно, вам необходимо ознакомиться с MSIE DataBinding , чтобы синхронизировать этот конкретный вопрос. Эта функция MSIE позволяет вам указывать на один источник данных XML (без какой-либо конкретной схемы, если он находится в стандартной «таблице»), а браузер визуализирует данные асинхронно визуально и асинхронно.

Преимущество этого состоит в том, что страница отображается быстро, потому что загрузка страницы не ждет заполнения всей таблицы перед тем, как показать пользователю какой-либо вывод. Строки таблицы заполняются постепенно.

Ложные запуски: Клиент X уже предпринял и отклонил следующие действия.

  • JQuery: отлично работает для загрузки данных и поддерживает четкую разметку HTML, но большие источники данных вызывают задержки и проблемы с памятью при рендеринге на стороне клиента
  • XSLT: это пугает Клиента X, потому что включает в себя гораздо больше, чем просто указание атрибута «источника данных» для тега
  • Разбиение на страницы данных на стороне сервера: это не вариант, потому что Клиент X неукоснительно хочет избежать сегментирования данных XML или выполнения какого-либо «подбора данных» на стороне сервера.

Ответы [ 2 ]

1 голос
/ 30 декабря 2008

Лучше всего, вероятно, использовать CSS для форматирования выходных данных по желанию.

1 голос
/ 09 декабря 2008

У вас действительно нет других вариантов, кроме Javascript / XSLT и серверной части.

Я бы, наверное, согласился с XSLT, аргумент против которого полностью спорный - "потому что он включает в себя гораздо больше, чем просто указание атрибута" источника данных "в теге <<em> table >" - * ЛЮБОЕ * решение будет более сложным, чем просто указание «источника данных».

Однако я не уверен, что если страница будет загружаться постепенно с XSLT, чувства паука предполагают обратное. Кто-нибудь?

В противном случае вы всегда можете выбрать вариант на стороне сервера и отказаться от нумерации страниц. Вы все равно получите страницу с постепенной загрузкой. Что касается браузера, то это обычный html.

...