Почему моя большая таблица данных JSF не заполняется только в IE? - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь сгенерировать таблицу динамически, используя HtmlDataTable в JSF. Когда я даю число строк и столбцов больше 25, некоторые ячейки заполняются не только в IE, и это происходит очень медленно. Тем не менее, я вижу значение при отладке кода с помощью Firebug. Он отлично работает в Firefox и Chrome.

Как это вызвано и как я могу решить?

1 Ответ

0 голосов
/ 15 марта 2012

Internet Explorer, как известно, имеет очень плохое средство рендеринга таблиц.Особенно, когда вложенность столбцов и таблиц становится чрезмерно усердной.

Нет другого решения, кроме как уменьшить размер таблицы, добавив ленивую загрузку и разбиение на страницы, чтобы одновременно отображалось только 10-100 строк.Добавьте при необходимости поисковые фильтры.Дополнительным преимуществом является то, что он также намного удобнее для пользователя.Google, например, также не показывает все ссылки на миллионы веб-сайтов в таблице монстров без фильтрации и нумерации страниц.

Если вы используете PrimeFaces, используйте <p:dataTable> с LazyDataModel.

См. Также:


Обновление согласно комментариямНа самом деле нет другой альтернативы, если вы не можете изменить свой код на стороне сервера.Лучше всего, вероятно, сообщить конечному пользователю, что он / она должен использовать настоящий браузер.

Например

<script>
    var ie = /*@cc_on!@*/false;

    if (ie) {
        window.location = 'some_page_which_recommends_different_browser.xhtml';
    }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...