Apache Wicket DropdownChoice - значение по умолчанию, когда значение равно -1 - PullRequest
0 голосов
/ 18 февраля 2012

Я использую переопределенный класс Ichoicerenderer для отображения значений из списка в DropDown.

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 голосов
/ 19 февраля 2012

Не уверен, что полностью понимаю ваш вопрос.

Вы говорите, что CfrInfo.getCfrSubRule() иногда возвращает -1? Вам нужно будет вернуть что-то, что является первичным ключом для getIdValue(), поэтому вы не должны возвращать -1.

Если, с другой стороны, вы просто пытаетесь изменить то, что отображается в раскрывающемся списке, когда ни один элемент не выбран, вам просто нужно указать пару ключ / значение свойства в файле WicketApplications.properties, например:

yourDropDown.null = Choose One
...