2012-01-10 25 views
0

我有一個Grid Panel從服務器加載大約200條記錄。我可以很好地實現分頁欄,以便每頁加載10條記錄。但是,問題在於,當我們的用戶點擊某個列(如Customer)進行排序時,它只會對本地10行進行排序。如何使用Ext JS 4執行客戶端排序?

當他們進入下一頁時,它沒有排序,他們感到困惑。我想過一次拉下所有200條記錄,然後嘗試以這種方式進行分頁。我知道這不是最好的方式,但我想不出另一種解決方案。

加上,我們的遠程排序程序由於時間限制而無法真正改變。它只處理offsetlimit。所以我可以很容易地把所有的200下來,但我不能改變列的排序方式。

謝謝。

回答

2

我認爲你這樣做的方式最有意義(因爲你無法對200個結果進行排序,儘管我不是100%的原因)。你只需要實現一種方法來記住用戶選擇的排序選項,並將其轉發到下一頁。

編輯:http://docs.sencha.com/ext-js/4-0/#!/guide/data有一個排序部分。也可以看看http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.SortTypes

+0

那麼,我們的服務器端代碼不允許按列排序(不幸的是),我們不能很快改變它。所以網格可能有10-15列。我們只是不想一次顯示全部200條記錄。所以當你點擊「下一頁」時,你將會在本地而不是遠程。如果這是有道理的。 – cbmeeks 2012-01-10 21:16:11

+0

哦,我很困惑,「所以我可以很容易地把所有的200下來,但我不能改變列的排序方式」我認爲你的意思是一旦你的列表大小200客戶端,它是不可改變的。 – Andrew 2012-01-10 22:20:23

+0

對不起,是的,我的意思是我無法改變'服務器'列的排序方式。基本上,搜索(服務器端)在很長一段時間內被刻蝕。所以我只能對客戶端進行排序。 – cbmeeks 2012-01-12 18:09:35