当值为“时,Apache Wicket DropdownChoice默认值问题”-1“;
我正在使用Ichoicerenderer的重写类来显示列表中的值 下拉列表 cfrList是从数据库填充的列表。它是类型为“CfrInfo”的列表。 CfrInfo有getCfrSubRule()和getCfrShortDesc()方法。 问题是,当我的getCfrSubRule()方法返回-1时,默认值为。 在正常情况下,默认情况下,当页面加载时,我的下拉列表显示“选择一个”。 但是当我的列表的值为“-1”时,它总是显示“-1”作为默认值,而不是“选择一个” 任何帮助都将不胜感激。谢谢你 请参考下面的代码当值为“时,Apache Wicket DropdownChoice默认值问题”-1“;,wicket,Wicket,我正在使用Ichoicerenderer的重写类来显示列表中的值 下拉列表 cfrList是从数据库填充的列表。它是类型为“CfrInfo”的列表。 CfrInfo有getCfrSubRule()和getCfrShortDesc()方法。 问题是,当我的getCfrSubRule()方法返回-1时,默认值为。 在正常情况下,默认情况下,当页面加载时,我的下拉列表显示“选择一个”。 但是当我的列表的值为“-1”时,它总是显示“-1”作为默认值,而不是“选择一个” 任何帮助都将不胜感激。谢谢你 请参
dropDown = new DropDownChoice("subRuleCode",new PropertyModel(
inspectionid,"subRuleInfo"),cfrList,new IChoiceRenderer(){
private static final long serialVersionUID = 1L;
public Object getDisplayValue(Object object)
{
CfrInfo info = (CfrInfo) object;
StringBuffer value = new StringBuffer();
value.append(info.getCfrShortDesc());
value.append("(");
value.append(info.getCfrSubRule());
value.append(")");
return value.toString();
}
public String getIdValue(Object object, int index)
{
if (object instanceof CfrInfo) {
CfrInfo info = (CfrInfo) object;
return info.getCfrSubRule();
}
return (String)object;
}
}
);
我不确定我是否完全理解你的问题 你是说
CfrInfo.getCfrSubRule()
有时返回-1?您需要返回有效地作为getIdValue()
主键的内容,因此不应返回-1
另一方面,如果您只是试图在未选择任何项目时更改下拉列表中显示的内容,则只需在WicketApplications.properties
文件中提供属性键/值对,如:
yourDropDown.null = Choose One
在呈现组件之前,
subRuleInfo
字段中有什么内容?