Primefaces 3.0.M4 IE 7. Флажок CheckAll не работает

Я использую Primefaces 3.0.M4, сборка от 01.12.2011 с веб-приложением JSF 2.0. Флажок CheckAll в заголовке таблицы для переключения флажков множественного выбора не работает ни в одном браузере, в котором я тестировал. Я пробовал его в IE7, Firefox 5.0 в Windows. Файрфокс 7 в убунту. Неудачно.

<p:dataTable id="blocksTable"
    var="block" value="#{splitBlockBean.blockDataModel}" 
    selection="#{splitBlockBean.selectedBlocks}"
    scrollable="true" scrollHeight="230" scrollWidth="410">  

    <p:column selectionMode="multiple"/>

    <p:column style="width:300px;" headerText="Subnet Address">
        #{block.label}
    </p:column>
</p:dataTable>

Теперь, если я уберу полосы прокрутки вокруг этой таблицы, она будет работать нормально. Но не с полосами прокрутки. Мне нужны полосы прокрутки, так как эта таблица может отображать записи до 256, и пользователи хотят иметь возможность выбирать все за один раз, не используя разбиение на страницы.

Интересный аспект, который я обнаружил в datatable.js, заключается в том, что JQuery не возвращает флажок checkAllToggler, если таблица окружена полосой прокрутки. Вот фрагмент из datatable.js

this.checkAllToggler = $(this.jqId + ' > table thead th.ui-selection-column input:checkbox');
this.checkAllToggler.bind('click', function() {
    _self.toggleCheckAll();
});

Приветствуется любая помощь.


person Sannu    schedule 02.12.2011    source источник
comment
Интересно... может быть фундаментальная причина, по которой это не возвращается, или это может быть просто недосмотр. В любом случае, это похоже на ошибку. Вы можете зарегистрировать проблему здесь: code.google.com/p/primefaces/issues/list.   -  person maple_shaft    schedule 02.12.2011
comment
Если ты это напишешь, я за это проголосую.   -  person maple_shaft    schedule 02.12.2011
comment
Спасибо. Я бы хотел, чтобы не было флажка заголовка checkAll. Таким образом, я мог переопределить/реализовать свою собственную функцию переключения.   -  person Sannu    schedule 02.12.2011
comment
Я понимаю это, но имейте в виду, что реализовать полосы прокрутки с фиксированными заголовками в веб-компоненте с данными с поддержкой AJAX, как известно, сложно. Я не могу вспомнить ни одной таблицы данных JSF или таблицы данных веб-элемента управления ASP.NET, которая могла бы сделать это без какой-либо ошибки.   -  person maple_shaft    schedule 02.12.2011
comment
Вы можете скрыть флажок переключения CheckAll с помощью css.   -  person Cagatay Civici    schedule 02.12.2011


Ответы (1)


Вам необходимо использовать последнюю сборку 3.0.RC1, подробнее http://code.google.com/p/primefaces/issues/detail?id=1552

person Cagatay Civici    schedule 02.12.2011
comment
Я пробовал и с этим. На самом деле, я разместил точно такой же вопрос на форумах Primefaces и получил такое же предложение. С RC1 не получилось. Я возвращаюсь к мгновенному выбору или, возможно, как вы предложили, скрыть флажок «Все» и использовать мою собственную стратегию выбора. - person Sannu; 02.12.2011
comment
Я не знаю, что не так в вашей среде, это работает для меня. - person Cagatay Civici; 04.12.2011
comment
Спасибо, Чагатай. Я переключился на использование мгновенного выбора без флажков. Но не могли бы вы опубликовать код, который вы тестировали. Мне любопытно, смогу ли я заставить это работать. Спасибо еще раз. - person Sannu; 05.12.2011