Было бы проще быть конкретным, если бы вы показали код, который вы получили, но я могу подумать о двух общих подходах к этому.
Один из способов - просто поддерживать список ссылок на моделигде-то за пределами DefaultDataTable
, как вы его строите.
Если сложно найти способ сделать это, другой возможный подход - использовать реализацию IVisitor
Wicket для поиска компонентов внутри вашей таблицы данных.для компонентов, содержащих модели.
Класс WebMarkupContainer
имеет метод
public final <S extends Component> Object visitChildren(final Class<?> clazz,
final IVisitor<S> visitor)
, который можно использовать для обхода всех содержащихся в нем компонентов конкретного класса, и метод
public final Object visitChildren(final IVisitor<Component> visitor)
, который делает то же самое, но не ограничивается определенным классом.
Интерфейс IVisitor<T extends Component>
требует, чтобы вы определили метод
public Object component(T component)
, который вызывается этим "посещением"msgstr "методы с каждым компонентом найдены в качестве аргумента.Возвращаемое значение является сигналом для продолжения или выхода из обхода, и метод, который вы определяете, может собирать вещи, найденные в компоненте, в список.