我有一个如下所示的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();
}
});
我希望“全选”而不是“选择一个”。我怎么能这样做?
答案 0 :(得分:9)
我在检票口6.4下尝试了Goli的建议但它不起作用。对我来说,正确的方法是:
没有必要设置terms.setMarkupId(“termsDDC”);没有它就可以使用
正如上面所说,如果你在面板上有一个表格(wicket:id =“form”)和表格上的DropDownChoice(wicket:id =“terms”),那没关系,你应将.properties文件命名为mypanel.properties
在属性文件中写:form.terms.null =选择全部或form.terms.nullValid =空,如果下拉列表有setNullValid(true)
答案 1 :(得分:6)
为DropDownChoice设置标记ID:terms.setMarkupId("termsDDC");
为您的表单/面板/页面创建一个.properties
文件。例如:mypanel.properties
在属性文件中写:termsDDC.null=Choose All
答案 2 :(得分:6)
我正在使用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();
}
});
答案 3 :(得分:0)
我使用了两种方法:
AbstractSingleSelectChoice#getNullKeyDisplayValue(),AbstractSingleSelectChoice#getNullValidDisplayValue()
都是通过DropDownChoice访问的
@Override
protected String getNullKeyDisplayValue() {
return "Choose All";
}
如果DropDownChoice有setNullValid(true)方法:
@Override
protected String getNullValidDisplayValue() {
return "Choose All";
}
答案 4 :(得分:0)
在较旧的Wicket版本中(可能也适用于较新版本),您可以执行以下操作(在Wicket 1.3.7中测试):
Dropdownchoice dropdown = new DropDownChoice("dropdown", list)
{
@Override
protected CharSequence getDefaultChoice(Object selected)
{
return "<option value=\"\">" + "MY placeholder text" + "</option>";
}
};
dropdown.setNullValid(true);
根据对象&#34;选择&#34;,您可能希望在option-tag中添加其他内容。看一下默认实现的super.getDefaultChoice(Object selected)方法。