2011-12-27 95 views
0

我有一個使用JQgrid通過XML加載大量數據的系統。 真正的性能問題是,每一行已經在php上處理了很長時間(計算獲取和各種php善良..)所以我想知道是否有可能得到每個處理行LIVE - 這意味着總金額的網格負載是相同的,但用戶體驗更好,因爲他會看到網格緩慢填寫..使用JQgrid加載實時數據

這是可能的嗎?

+1

請添加更多的細節和想要完成的內容,以便更多的用戶可以爲您的問題提供合適的答案。 – 2011-12-27 07:30:18

+0

或者優化你的「計算提取和各種php善良...」,以便減少你似乎遇到的加載時間問題。 – 2011-12-27 07:35:25

回答

0

我會通過改變你的網格加載方法來實現這一點。而不是使用獲取數據的簡單方法(通過在網格中通過url直接訪問它:'myXMLData.php'參數),而是通過調用addXmlData來手動填充網格。

基本上,這個過程是用空值初始化你的網格,然後啓動一個請求到服務器開始建立你的響應。此請求將立即返回,並將對XML位置的引用傳回給將要建立的XML位置。此外,這個初始請求將在服務器上分派一個後臺任務,這將實際完成處理和XML構建到臨時緩存位置(將其構建在作爲參考返回的相同位置)。在瀏覽器端,保存該引用,並定期輪詢以檢查新的XML數據(使用jQuery Ajax方法)。從每個輪詢獲得響應後,使用上面鏈接的addXmlData()方法將jqGrid加載到當前的一組數據中。當來自服務器的響應包含您期望的所有行時,輪詢可以停止。您還需要定期運行的服務器上的任務來清理XML緩存。

+0

謝謝你的迴應... - 我會檢查你所建議的addXmlData .. – hananyariv 2012-01-18 03:16:21