Gol*_*lie 9 wicket default-value dropdownchoice
我有一个DropDownChoice如下:
final DropDownChoice<Term> terms = new DropDownChoice("terms", new Model<Term>(), new Model(new ArrayList(termDao.findAll())), new IChoiceRenderer<Term>() {
public Object getDisplayValue(Term object) {
return object.getIdentifier();
}
public String getIdValue(Term object, int index) {
return object.getId().toString();
}
});
Run Code Online (Sandbox Code Playgroud)
我想要"全选"而不是"选择一个".我怎样才能做到这一点?
小智 9
我在wicket 6.4下尝试了Goli的建议,但它不起作用.对我来说,正确的方法是:
没有必要设置terms.setMarkupId("termsDDC"); 没有它它会工作
正如上面所说,如果你在面板上有一个表单(wicket:id ="form")和表单上的DropDownChoice(wicket:id ="terms"),那没关系,你应该将.properties文件命名为mypanel.properties
在属性文件中写:form.terms.null =选择All或form.terms.nullValid = Empty,如果下拉列表有setNullValid(true)
为DropDownChoice设置标记ID: terms.setMarkupId("termsDDC");
.properties
为表单/面板/页面创建一个文件.例如:mypanel.properties
在属性文件中写: termsDDC.null=Choose All
参考:https://cwiki.apache.org/WICKET/dropdownchoice.html
我正在使用wicket 6.14(不确定它引入了哪个版本),你可以覆盖getNullKeyDisplayValue()
,所以你会有这个:
final DropDownChoice<Term> terms = new DropDownChoice("terms", new Model<Term>(), new Model(new ArrayList(termDao.findAll())), new IChoiceRenderer<Term>() {
@Override
protected String getNullKeyDisplayValue() {
return "Choose All";
}
public Object getDisplayValue(Term object) {
return object.getIdentifier();
}
public String getIdValue(Term object, int index) {
return object.getId().toString();
}
});
Run Code Online (Sandbox Code Playgroud)