Sorting Grails sortableColumn使用对象Id而不是名称
我有一个资源列表,其中包含管理器,这些管理器也是我系统中的资源。我想按资源的名称对资源列表进行排序。我发现Grails是按照资源Id而不是我指定的字段对列表进行排序的Sorting Grails sortableColumn使用对象Id而不是名称,sorting,grails,object,Sorting,Grails,Object,我有一个资源列表,其中包含管理器,这些管理器也是我系统中的资源。我想按资源的名称对资源列表进行排序。我发现Grails是按照资源Id而不是我指定的字段对列表进行排序的 <g:sortableColumn property="orgRole" title="Org Role" /> <g:each in="${resourceInstanceList}" status="i" var="resourceInstance"> <td>${fieldValu
<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>
${fieldValue(bean:resourceInstance,字段:“manager”)}
我已经在我的资源上定义了静态映射,以按“name”属性进行排序,并且我有一个toString方法,我尝试调用该方法,该方法还将对象的“name”作为值返回。仍然可以看到按整数“id”属性排序的列表,该属性与数据库中的序列相关联。精度需要在可排序列上定义,而不是在td上定义。我应该使用这个:
这明确地告诉Grails我要使用哪个字段,否则它依赖于对象的默认id元素。控制器代码是什么样子的?可排序列通过生成指向/controller/action?sort=theProperty&order=asc
的链接来工作,您必须将这些参数传递到DomainClass.list()
或.findAllByX()
调用才能真正进行排序。