2012-05-23 3 views
3

В моем классе домена, у меня есть одно перечисление: -показать перечисление как кнопка радио в GSP

class Product{ 
    Type type 
    enum Type{ 
    MEDICINE, NON_MEDICINE 
    } 
} 

, генерируя вид по умолчанию, это показывает, как в раскрывающемся списке create.gsp странице. Мое требование состоит в том, чтобы показать его как группу радио в создании страницы, откуда я могу выбрать любое из двух значений, нажав на переключатель. может ли кто-нибудь помочь. Thnks

ответ

8

Это должно работать:

<g:radioGroup name="type" 
        values="${test.Product$Type?.values()}" 
        labels="${test.Product$Type.values()*.name()}" 
        value="${productInstance?.type?.name()}"> 
    ${it.radio} <g:message code="${it.label}" />&nbsp; 
</g:radioGroup> 

Это должно заменить текущую g:select в grails-app/views/product/_form.gsp

+0

Ваша версия лучше , он использует реальные значения из исходного enum :) –

+0

извините, но что такое тест в значениях и меток? –

+0

Это пакет, в который я поместил свой класс продукта, когда я тестировал это ... Класс продукта будет в другом пакете, поэтому, очевидно, вам нужно будет изменить это ... –

1

Попробуйте

<g:radioGroup name="type" values="${['MEDICINE', 'NON_MEDICINE']}" value="${currentInstance.type}" labels="${['Medicine', 'Non medicine']}"> 
<span>${it.label} - ${it.radio}</span> 
</g:radioGroup> 
+0

+1 Просто бил меня к нему ;-) –

Смежные вопросы