Я использую CheckGroup и Check для создания списка CheckBoxes. Пример Wicket показывает флажки, отмеченные по умолчанию: пример контрольной группы Wicket
Я некоторое время смотрел и тестировал, но мои проверены по умолчанию, и мне нужно, чтобы они были сняты.
Вот мой код (обратите внимание, что это пользовательский класс, который я добавлю в форму позже):
private CheckGroup<String> checks;
private List<String> propertyColumnNames;
private Map<String, String> readableColumnNames;
checks = new CheckGroup<String>("checkGroup", propertyColumnNames);
ListView<String> checksList = new ListView<String>("columns", propertyColumnNames) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(ListItem<String> item) {
Check<String> check = new Check<String>("check", item.getModel());
check.setLabel(new Model<String>(readableColumnNames.get(item.getModel().getObject())));
item.add(check);
item.add(new SimpleFormComponentLabel("column", check));
}
};
checksList.setReuseItems(true);
checks.add(checksList);
add(checks);
Как я могу отключить их по умолчанию?
С Уважением,
Проблема здесь:
checks = new CheckGroup<String>("checkGroup", propertyColumnNames);
Здесь вы указываете CheckGroup, чтобы проверять каждый флажок, который находится в имени свойстваColumnNames. Вам нужно предоставить пустую коллекцию в качестве модели CheckGroup.