当值为“-1”时,Apache Wicket DropdownChoice默认值问题

时间:2012-02-17 22:26:10

标签: wicket

我正在使用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;
        }         
    }
    );

1 个答案:

答案 0 :(得分:0)

不确定我完全理解你的问题。

你是说CfrInfo.getCfrSubRule()有时会返回-1吗?你需要返回一些实际上是getIdValue()主键的东西,所以你不应该返回-1。

另一方面,如果您只是在没有选择项目时尝试更改下拉列表中显示的内容,则只需在WicketApplications.properties文件中提供属性键/值对,如:< / p>

yourDropDown.null = Choose One