2011-10-19 46 views
1

我目前正在實現一個基於Dojo Toolkit(1.6.1)的前端,該前端從RESTful服務接收大量數據。這由使用dojo.store.JsonRest-store的dojox.grid.DataGrid在GUI中表示。如何在沒有REST請求的GUI中基於dojo.store.jsonrest對Dojo DataGrid進行排序?

但是,有網格上使用的操作,我不希望發送JSON請求,如排序列。是否可以允許用戶在沒有這種請求的情況下對數據進行排序?我可以在本地緩存商店信息(例如用戶瀏覽器還是文件中)以避免這種情況發生?

您可能有任何反饋意見非常感謝!

回答

2

我遇到了同樣的問題,並首先嚐試dojo.store.cache,但這是行不通的。 因此我創建了我自己的緩存usind a dojo.store.memory

startBuildingCache: function (url, idProperty) { 
    try { 
     var jsonStore = new dojo.store.JsonRest({ target: url }); 
     var jsonObjectStore = dojo.data.ObjectStore({ objectStore: jsonStore }); 

     var gotItems = dojo.hitch(this, function (items, request) { 

      var dataStore = new dojo.store.Memory({ 
       data: items, 
       idProperty: idProperty 
      }); 

      this.cache = dojo.data.ObjectStore({ objectStore: dataStore }); 
      this.onCacheBuild({ 
       src: this, 
       cache: this.cache 
      }); 
     }); 

     jsonObjectStore.fetch({ onComplete: gotItems }); 


    } catch (e) { 
     console.log(e.name + ": " + e.message); 
    } 
}, 
相關問題