0

システム内のリソースでもあるマネージャーを持つリソースのリストがあります。リソースのリストを名前で並べ替えたい。私が見つけたのは、Grailsが、指定しているフィールドではなく、リソースIDでリストを並べ替えていることです。

<g:sortableColumn property="orgRole" title="Org Role" />

<g:each in="${resourceInstanceList}" status="i" var="resourceInstance">
   <td>${fieldValue(bean: resourceInstance, field: "manager")}</td>
   <!--<td> ${resourceInstance.manager.toString()} </td>-->
</g:each>

'name'属性でソートするようにリソースに静的マッピングを定義しました。また、オブジェクトの'name'を値として返すtoStringメソッドを呼び出してみました。データベース内のシーケンスに関連付けられている整数'id'属性でソートされたリストが引き続き表示されます。

4

1 に答える 1

0

精度は、td ではなく、sortableColumn で定義する必要があります。これを使用するべきでした:<g:sortableColumn property="orgRole.name" title="Org Role" />これは、どのフィールドを使用するかを Grails に明示的に伝えます。それ以外の場合は、オブジェクトのデフォルトの id 要素に依存します。

于 2012-06-14T16:42:17.843 に答える