Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting Grails sortableColumn使用对象Id而不是名称_Sorting_Grails_Object - Fatal编程技术网

Sorting Grails sortableColumn使用对象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

我有一个资源列表,其中包含管理器,这些管理器也是我系统中的资源。我想按资源的名称对资源列表进行排序。我发现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>

${fieldValue(bean:resourceInstance,字段:“manager”)}

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

精度需要在可排序列上定义,而不是在td上定义。我应该使用这个:
这明确地告诉Grails我要使用哪个字段,否则它依赖于对象的默认id元素。

控制器代码是什么样子的?可排序列通过生成指向
/controller/action?sort=theProperty&order=asc
的链接来工作,您必须将这些参数传递到
DomainClass.list()
.findAllByX()
调用才能真正进行排序。