1

オプションの値でドロップダウンを表示する方法についていくつかの調査を行いました。現在、ドロップダウンにドメイン オブジェクト (人) のリストがあります。「姓名」で表示されます。

選択範囲内の名前の表示方法を変更したい。g:select API を見ると、optionValue と optionKey を使用できることがわかります。私は試しましたが、どこにも行きませんでした。だからここに私の現在のコードがあります:

<g:select id="allPeople" name="allPeople" from="${dropdown}" />

出力を「最後、最初」にしたい。私はこれを試しました:

<g:select id="allPeople" optionValue="${it?.last},${it?.first}" from="${dropdown}" name="allPeople" value="" >
4

2 に答える 2

4

これを行う良い方法は、ドメインに一時ゲッターを追加し、それを optionValue に使用することです。

class Person {
    String first
    String last

    static transients = ['lastFirst']

    String getLastFirst() {
        "$last, $first"
    }
}

それから

<g:select name="allPeople" optionValue="${it.lastFirst}" from="${dropdown}"/>
于 2012-08-30T14:57:50.727 に答える
2

このようにしてみてください:

optionValue="${{it?.last+', '+it.first}}"

これは、必要なものを構築するクロージャーを渡すことを意味します。

于 2012-08-30T14:52:19.970 に答える