我已经对如何显示带有可选值的下拉列表进行了一些研究。当前,我在下拉列表中有一个域对象(人员)列表。它们显示为“名字姓氏”。
我想更改名称在选择中的显示方式。查看g:select API,我可以使用optionValue和optionKey。我已经尝试过了,但是一无所获。所以这是我当前的代码:
<g:select id="allPeople" name="allPeople" from="${dropdown}" />
我希望输出为“Last,First”。我已经试过了:
<g:select id="allPeople" optionValue="${it?.last},${it?.first}" from="${dropdown}" name="allPeople" value="" >
最佳答案
做到这一点的一种好方法是在您的域上添加一个瞬时 setter/getter ,然后将其用于optionValue。
class Person {
String first
String last
static transients = ['lastFirst']
String getLastFirst() {
"$last, $first"
}
}
然后
<g:select name="allPeople" optionValue="${it.lastFirst}" from="${dropdown}"/>
关于grails - Grails中的OptionValue选择域对象列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12199486/