在Wicket DropDownChoice中,您如何替换;选择一个“;到另一个文本
我有一个下拉选择,如下所示:在Wicket DropDownChoice中,您如何替换;选择一个“;到另一个文本,wicket,default-value,dropdownchoice,Wicket,Default Value,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) {
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();
}
});
final-dropdownthoice terms=new-dropdownthoice(“terms”、new-Model()、new-Model(new-ArrayList(termDao.findAll())、new-ichoicerender()){
公共对象getDisplayValue(术语对象){
返回object.getIdentifier();
}
公共字符串getIdValue(术语对象,int索引){
返回object.getId().toString();
}
});
我想要“全选”而不是“选一”。我该怎么做
terms.setMarkupId(“termsDDC”)代码>
.properties
文件。例如:mypanel.properties
termsDDC.null=选择全部
参考资料:我在wicket 6.4中尝试了Goli的建议,但没有成功。对我来说,正确的方法是:
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();
}
});
final-dropdownthoice terms=new-dropdownthoice(“terms”、new-Model()、new-Model(new-ArrayList(termDao.findAll())、new-ichoicerender()){
@凌驾
受保护的字符串getNullKeyDisplayValue(){
返回“全选”;
}
公共对象getDisplayValue(术语对象){
返回object.getIdentifier();
}
公共字符串getIdValue(术语对象,int索引){
返回object.getId().toString();
}
});
我使用了两种方法:
AbstractSingleSelectChoice#getNullKeyDisplayValue(),AbstractSingleSelectChoice#getNullValidDisplayValue()
都可以通过DropDownChoice访问
@Override
protected String getNullKeyDisplayValue() {
return "Choose All";
}
如果DropDownChoice具有setNullValid(true),则该方法:
@Override
protected String getNullValidDisplayValue() {
return "Choose All";
}
在较早的Wicket版本中(可能也适用于较新的版本),您可以执行以下操作(在Wicket 1.3.7中测试):
Dropdownchoice dropdown=新的Dropdownchoice(“dropdown”,列表)
{
@凌驾
受保护的CharSequence getDefaultChoice(选定对象)
{
返回“+”我的占位符文本“+”;
}
};
下拉列表。setNullValid(true);
可能您希望根据“选定”对象向选项标记添加其他内容。查看默认实现的super.getDefaultChoice(Object selected)方法。FYI您可以将其添加为您自己问题的答案,并接受它以获得积分
Dropdownchoice dropdown = new DropDownChoice("dropdown", list)
{
@Override
protected CharSequence getDefaultChoice(Object selected)
{
return "<option value=\"\">" + "MY placeholder text" + "</option>";
}
};
dropdown.setNullValid(true);