Rich: сортировка DataTable прерывается, когда строка содержит h: commandLink - PullRequest
0 голосов
/ 21 марта 2012

У меня есть rich: dataTable с сортировкой. Каждая строка в таблице имеет ссылку h: command на другую страницу. Это прекрасно работает во всех браузерах, отличных от webkit.

При сортировке щелчком по заголовку содержимое таблицы очищается, и в консоли Chrome JavaScript отображается следующая ошибка:

Uncaught Error: NOT_SUPPORTED_ERR: DOM Exception 9

Это, похоже, известная проблема (https://issues.jboss.org/browse/RF-6096), но без решения.

Ответы [ 2 ]

0 голосов
/ 01 августа 2012

Кажется, это проблема с реализацией document.importNode с помощью webkit. Чтобы обойти эту проблему, вы можете использовать этот маленький кусочек кода JavaScript в файле шаблона:

if( /webkit/.test( navigator.userAgent.toLowerCase() ) ){
    var _importNode = window.document.importNode;
    window.document.importNode = function(node, deep){
        try{
            return _importNode.apply(this, arguments);
        } catch(e) {
            if( e.code == DOMException.NOT_SUPPORTED_ERR ){
                // clone and adopt
                return document.adoptNode(node.cloneNode(deep));
            }
            throw e;
        }
    };
}
0 голосов
/ 21 марта 2012

Я обнаружил, что использование:

<a4j:commandLink ... />

вместо

<h:commandlink .../>

Решает все проблемы с сортировкой таблиц.

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

...