Apache Wicket - DataTable фильтрация с FilterToolbar против ручной фильтрации - PullRequest
1 голос
/ 29 октября 2011

Я использую таблицу данных Wicket 1.4 и фильтрую ее вручную, как описано в Apache Wicket Cookbook .Он также доступен в свободно доступной главе с примерами: https://www.packtpub.com/sites/default/files/1605OS-Chapter-5-Displaying-Data-Using-DataTable.pdf

Однако в Wicket API я обнаружил FilterToolbar .Сейчас в Интернете люди говорят, что Wicket Phonebook на Wicketstuff является примером, но он не работает.

Каковы преимущества использования DataTable с FilterToolbar по сравнению с этой ручной фильтрацией, представленной в Wicket Cookbook?Что делает FilterToolbar автоматически?Меня особенно заинтриговало это предложение о FilterToolbar в документах Wicket API:

Компоненты формы предоставляются столбцами, которые реализуют IFilteredColumn.

Примеры кода или рабочие скриншотыили даже страницы оценены:)

1 Ответ

3 голосов
/ 07 ноября 2011

Я смог запустить приложение телефонной книги локально без проблем. Загрузите с https://github.com/wicketstuff/core/tree/master/jdk-1.5-parent/phonebook и запустите с mvn jetty:run.

Реализации IFilteredColumn позволяют компоненту фильтра быть созданным непосредственно столбцом DataTable. Реализации существуют для выбора радио и текстового поля.

Лично я остался в стороне от FilterToolbar, потому что он заставляет всю таблицу включать в форму. Эта грань в сочетании с фильтрацией ajax «по мере ввода» означает, что браузер постоянно перерисовывает компоненты формы фильтра вместе с таблицей, что приводит к потере ввода, что весьма раздражает.

Один интересный аспект FilterToolbar заключается в том, что он содержит некоторый javascript для восстановления фокуса на правильный компонент формы, когда форма фильтра отправляется без ajax (не уверен насчет ajax).

...