2012-10-03 25 views
0


我正在使用dojo1.7。我有一個EnhancedGrid,我需要用最新的數據刷新。dojo1.7在IE中分配新商店時,未刷新Enhancedgrid

變種Gridstore的新= dojo.data.ItemFileWriteStore({ URL: '', 數據:結果, urlPreventCache:假 });

   grid.store=gridStore; 
       grid._refresh(); 

我獲取在所需的格式的某些數據

變種結果= { 「標識符」: 「ID」,
「項」:[] //的JSONObject };

上面的代碼在Firefox上正常工作,但是在IE上我收到一個錯誤'null is null or not an object'。我不確定IE中出了什麼問題。有沒有其他方式改變dojo1.7中的商店?
提前致謝!

回答

0

看起來像JSON格式問題。您可以發佈您從服務器發送的完整JSON數據,或者檢查JSON中的任何錯誤。

的另一種方式,你可以嘗試刷新或改變商店網址:

1)指定空店電網初步

2)在運行時,執行dijit.byId('grid').store.url= 'someurl';

3)執行dijit.byId('grid').store.save();dijit.byId('grid').store.fetch({query:{id: '*'}});

希望有幫助。

+0

感謝您的回覆。 當我刷新網格時,我正在創建一個新的商店,然後分配數據存儲。然後我將商店分配給網格。 當我調試代碼時,我發現grid._refresh失敗。 JSON格式不是問題,因爲它可以在Firefox上正常工作。 我也試過grid.setStore(store)但仍然遇到同樣的問題。 代碼: store.addCallback(功能(響應){ VAR商店1 =新dojo.data.ItemFileWriteStore({ \t \t \t \t \t \t URL: '', \t \t \t \t \t \t數據:響應, \t \t \t \t \t \t urlPreventCache:假 \t \t \t \t \t}); \t \t \t \t \t grid.store = store1; \t \t \t \t \t grid。_refresh(); } – harris

+0

1)你可以發佈JSON嗎?當涉及格式問題時,Firefox更寬容。 2)爲你的代碼創建一個jsfiddle(jsfiddle.com),我會嘗試修復它。 – Sandeep

+0

JSON不是一個問題,因爲它在所有瀏覽器上都可以很好地與dojo1.5協同工作。 當我使用developertool調試代碼時,我沒有收到setStore()的錯誤。你可以告訴我如何使用dojo1.7更改商店,而不使用url,並使用單獨的xhrpost將數據分配給商店?我不想在商店中使用網址。 刷新店鋪: grid.store.close(); var store1 = new dojo.data.ItemFileWriteStore({url:'',data:response,urlPreventCache:false}); grid.setStore(store1); grid._refresh(); – harris