0
我是Yii框架的新手。我正在分析自動生成的CRUD視圖。當我點擊列標題進行排序時,它會重新加載數據,因此比編寫排序表的jQuery方法慢得多。如何改變這種行爲。我不想在每次對錶格進行排序時重新加載數據,只想排序我現在所擁有的數據。CGridView更改排序方法
我是Yii框架的新手。我正在分析自動生成的CRUD視圖。當我點擊列標題進行排序時,它會重新加載數據,因此比編寫排序表的jQuery方法慢得多。如何改變這種行爲。我不想在每次對錶格進行排序時重新加載數據,只想排序我現在所擁有的數據。CGridView更改排序方法
如果我理解正確,您只想對當前頁面中的行進行排序,而不是對結果集中的所有行進行排序?我不確定我看到這個用法,除非它是一個相當小的結果集。大多數用戶會希望看到按列排序的整個結果集,而不僅僅是單個頁面。
沒有什麼內置CGridView
做客戶端,我不認爲對的,但它不會是很難寫一個
$('table tr').each(function(){
var me = $(this)
if (me.find('.columnToCompare').text() > me.find('.secondColumn').text())
{
me.prev().insertBefore(me);
}
}
很快打完了,但你的要點有希望。
是的,我明白了。你的意思是jQuery只會對錶格的當前頁面進行排序,並且它將是無用的?那沒問題。我誤解了分頁數據的排序行爲。是否有可能將當前數據集保存在內存中,以便在排序一段時間後立即獲取它? – Kiyas
爲了能夠在客戶端完全排序,您必須檢索第一次加載時的所有**記錄。這可能比每次從服務器獲取更大的性能問題。 Yii沒有任何內容可以做到這一點,因爲它通常是效率最低的方式。如果您從服務器獲取性能問題,您應該調查並打開一個新問題。 – Paystey
好的。感謝您的回答。 – Kiyas