我正在使用Ichoicerenderer的覆盖类来显示List中的值 下拉列表。
cfrList 是从数据库填充的列表。它是“CfrInfo”类型的列表。 CfrInfo有getCfrSubRule()和getCfrShortDesc()方法。 问题是,当我的getCfrSubRule()方法返回 -1 时的默认值。 在正常情况下,默认情况下,我的下拉列表会在页面加载时显示“选择一个”。 但是当我的列表值为“-1”时,它总是显示“-1”作为“选择一个”的默认值
任何帮助都会受到赞赏。感谢Aadvance ....
请参阅以下代码......
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;
}
}
);
答案 0 :(得分:0)
不确定我完全理解你的问题。
你是说CfrInfo.getCfrSubRule()
有时会返回-1吗?你需要返回一些实际上是getIdValue()
主键的东西,所以你不应该返回-1。
另一方面,如果您只是在没有选择项目时尝试更改下拉列表中显示的内容,则只需在WicketApplications.properties
文件中提供属性键/值对,如:< / p>
yourDropDown.null = Choose One