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>

我已经在我的资源上定义了静态映射以按我的“名称”属性进行排序,并且我有一个我尝试调用的 toString 方法,它也返回对象的“名称”作为值。仍然看到按与数据库中的序列相关的 Integer 'id' 属性排序的列表。

4

1 回答 1

0

精度需要在 sortableColumn 上而不是在 td 上定义。我应该使用这个:<g:sortableColumn property="orgRole.name" title="Org Role" />这明确告诉 Grails 我想使用哪个字段,否则它依赖于对象的默认 id 元素。

于 2012-06-14T16:42:17.843 回答