2014-03-24 58 views
0

所以我想排序一個對象表(可交付成果)的表。我想爲每個頭(客戶端,項目,可交付成果)使用g:sortableColumn。目前我正在嘗試實施在此博客http://sguthula.blogspot.com/2011/05/implementing-advanced-search-in-grails.html中找到的解決方案,但沒有成功。g:具有複雜關聯的sortableColumn

我協會的一個例子如下:

class Deliverable { 
    static belongsTo = [project: Project] 
} 

class Project { 
    Client client 
    static hasMany = [deliverables: Deliverable] 
} 

class Client { 
    String name 
    static hasMany = [projects: Project] 
} 

在我的表,我想通過客戶名稱來訂購。

<g:sortableColumn property="name" title="${message(code: 'deliverable.project.client.name.label', default: 'Client')}"></g:sortableColumn> 

這是比較複雜的協會之一,但即使我嘗試只是project.name進行排序,它導致交付每個項目重新排序,而不是整個列表重新排序基於客戶端或項目名稱。

歡呼聲提供任何援助。

+0

我的控制器被稱爲PMController,我已經添加了def list = {log.info(params)}給它,但沒有得到任何打印出來。所以它不會進入列表動作,但我不知道爲什麼..... – richari1987

+0

另外我沒有使用標準腳手架GSP。我有一個名爲dashboard.gsp的GSP,它裏面有_pmtable.gsp。我沒有默認的腳手架GSP或行動。 – richari1987

回答

1

請你能看到並張榜公佈檢查結果在瀏覽器上像

1. goto inspect window and network 

2. press the `g:sortablecolumn` and see if anything is posted or a request ? 

3. if yes , that is how i can resolve this issue and you should to ..see which 
    object/parameteris passed to 
    the controller so that you can play with the code. 

4.if not Syntax error please first try with simple settings and correct 
    to see how it works on 1,2,3 steps. 

歡呼相信你會找到解決方案!

+1

嘿謝謝你回到我身邊。我忘了昨天發佈,但我實際上已經明白了。我試圖找到「列表」操作所在的位置,實際上該調用正在返回到該視圖的基本操作(儀表板)。 – richari1987