2012-06-12 30 views
0

我有一個資源列表中有經理,這些資源也是我係統中的資源。我想按資源名稱對資源列表進行排序。我發現的是,Grails正在按照資源ID排序列表,而不是我指定的字段。Grails sortableColumn使用對象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'屬性排序。

+0

控制器代碼是什麼樣的?可排序的列通過生成'/ controller/action?sort = theProperty&order = asc'的鏈接來工作,並且您必須將這些參數傳遞給DomainClass.list()或.findAllByX()發生。 –

回答

0

精度需要在sortableColumn上定義,而不是在td上定義。我應該使用這個:<g:sortableColumn property="orgRole.name" title="Org Role" />這明確告訴Grails哪個字段我想使用,否則它依賴於對象的默認id元素。

相關問題