我有一个资源列表,其中包含管理器,这些资源也是我系统中的资源。我想按名字对资源列表进行排序。我发现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'属性排序,我有一个我尝试调用的toString方法,它也返回对象的'name'作为值。仍然看到列表按Integer'id'属性排序,该属性与数据库中的序列相关联。
答案 0 :(得分:0)
需要在sortableColumn上定义精度,而不是在td上定义。我应该使用这个:<g:sortableColumn property="orgRole.name" title="Org Role" />
这明确告诉Grails我想要使用哪个字段,否则它依赖于对象的默认id元素。