我有一個Dojo Datagrid綁定到啓用ClientFilter的JsonRestStore。 行爲我想:Dojo JsonRestStore和ClientFilter永遠不會從服務器更新
我每次調用過濾器上的數據網格,商店應在本地執行 查詢和更新電網。同時它也應該發送 相同的查詢到服務器,將它收到的數據添加到客戶端過濾的數據。
ClientFilter的文檔似乎說這是它應該如何工作。 這是行爲,我得到:
數據網格加載從服務器一旦數據,根據 初始過濾器設置。任何進一步的調用datagrid.filter只有 過濾客戶端上的數據。沒有更多的XHR呼叫服務器發送 。
我花了數小時調試ClientFilter.js尋找錯誤,但找不到它。我究竟做錯了什麼?
編輯:我想把這個放在這裏,所以希望有人尋找類似的信息不會卡住。 ClientFilter和JsonRestStore存在已知的問題。 與互聯網上的所有舊文檔相混淆,我正在使用dojo.data.JsonRestStore 這是一箇舊的且不受支持的(?)商店。 Dojo現在已經轉移到新的ObjectStore API。 實施這個新的API的最近的便利店是dojo.store.JsonRest和ClientFilter功能由dojo.store.Cache提供
我想要的是,假設我是根據創建日期進行過濾。如果我減少過濾器,它應該在客戶端過濾並給我,但如果我增加過濾器的範圍,它應該從服務器得到更多的結果。這不是一個相當常規的東西嗎? – navjotk
更多地解釋用例:我正在過濾來自Date和toDate的兩個字段。最初從日期= 2012-01-20和toDate = 2012-01-24。這讓我從服務器得到適當的結果。現在,如果我從日期更改爲2012-01-21,則商店將在客戶端上過濾數據集並顯示結果。這是必需的行爲。如果我從日期更改爲2012-01-19,則預期的行爲是商店從服務器請求更多數據。相反,商店僅返回緩存中的所有數據(其中不包括第19個數據) – navjotk