2013-12-12 96 views
1

我正在jQuery的jqGrid上工作,我沒有在我的jqGrid中使用分頁。我的代碼獲取1000行以上的數據和所有數據顯示在jqGrid沒有分頁,並使用loadonce: true屬性。現在我的要求是,當用戶排序任何列需要3-5秒排序數據,所以我想顯示在那個時候加載圖像。我寫了在jQuery事件之前排序jqGrid

beforeRequest: function() { jQuery(".imgLoading").show(0);}, 
gridComplete: function() {jQuery(".imgLoading").hide(0);} 

這2個事件,它工作正常,當數據與服務器和操縱與服務器。

但我想通過使用loadonce: true在客戶端排序,並且還想顯示加載圖像,但我不知道在哪個事件中我會寫下圖像顯示隱藏代碼。

請告訴我jqGrid的BeforeSortEventAfterSortEvent的名稱。

我檢查了這個網址:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events但沒有找到正確的事件。

請幫我.....

+0

在3-5秒鐘內主要用於填充1000行(大部分不可見的行),網頁瀏覽器完全忙碌。我害怕,它*不能*顯示任何東西。爲什麼你想讓該瀏覽器做不需要的工作?如果用戶只能看到大約50行,爲什麼要用1000行填充頁面?爲什麼你不想使用*本地*分頁數據?在這種情況下,您將能夠立即顯示10000行而不是1000行。 – Oleg

+0

@Oleg我認爲Oleg意味着使用分頁,如果使用分頁,Ex 50 vs 1000,您將立即看到排序行的較小子集。 – Mark

回答

0

嘗試:

onSortCol: function(index, iCol, sortorder) { 
    jQuery(".imgLoading").show(0); 
}, 
gridComplete: function() { 
    jQuery(".imgLoading").hide(0); 
} 

編輯

既然你說的alert()打完,我想你的問題是在你顯示/隱藏那些.imgLoading元素的方式。

嘗試:

onSortCol: function(index, iCol, sortorder) { 
    alert("I'm about to SHOW the loading message"); 
    $(".imgLoading").show(); 
}, 
gridComplete: function() { 
    alert("I'm about to HIDE the loading message");   
    $(".imgLoading").hide(); 
} 

確保這兩個alert()的斷火,如果他們這樣做,那麼事情是尚客與.imgLoading元素你想顯示/隱藏。

+0

我試過這個,但它不起作用..... –

+0

@GauravAgrawal當你點擊排序列時,加載器消息是否顯示?如果你在裏面放了一個alert(「Test」),當你點擊一個列標題進行排序時,它是否會啓動? – FastTrack

+0

當我使用警報消息它的工作原理,但如果我從代碼中刪除警告消息它不工作。 –