@Override public void registerFilters(DataTable<?> table, IModel<UserFilter> filterModel) { super.registerFilters(table, filterModel); List<Boolean> choises = Arrays.asList(Boolean.FALSE, Boolean.TRUE); DropDownChoice<Boolean> assignedFilter = new DropDownChoice<Boolean>( "assignedFilter", new PropertyModel<Boolean>(filterModel, UserFilter.FIELD_ASSIGNED), choises) { @Override protected String getNullValidDisplayValue() { return getString("assigned.nullValid"); } }; assignedFilter.setChoiceRenderer( new ChoiceRenderer<Boolean>() { @Override public Object getDisplayValue(Boolean object) { String key = "assigned." + object.toString(); return getString(key); } }); assignedFilter.setNullValid(true); addFilter(assignedFilter, new ResourceModel("user.assigned")); }