原創|使用教程|編輯:郝浩|2013-03-26 14:11:41.000|閱讀 892 次
概述:Store主要是設計用于在不同的數據源以統一的方式執行CRUD操作,然而由于Store需要連接到不同本質的數據源,它們有不同的配置選項。今天來看一下如何在DXTREME ENTERPRISE中建立Store。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Store主要是設計用于在不同的數據源以統一的方式執行CRUD操作,然而由于Store需要連接到不同本質的數據源,它們有不同的配置選項。今天來看一下如何在DXTREME ENTERPRISE中建立Store。
如果有一個數組的原始值,簡單地將它傳遞給ArrayStore構造函數。如果你有一個對象數組,通過關鍵屬性指定對象的關鍵屬性名,然后通過數據屬性傳遞給數組。
var ArrayStore = DevExpress.data.ArrayStore; var arrayStoreA = new ArrayStore([1, 2, 3]); var arrayStoreB = new ArrayStore({ key: "id", data: [ { id: 1, title: "object 1" }, { id: 2, title: "object 2" } ] });
在通常的情況下,你不想直接創建一個ODataStore,相反,創建一個ODataContext,并且通過URL屬性指定OData服務。對于每個通過服務公開的實體,增加一個相應的命名屬性到實體配置對象上中,對于屬性值必須是一個對象的關鍵屬性指定實體鍵的名稱。你還可以通過errorHandler屬性指定一個錯誤處理程序,然后通過相應的屬性選擇性的啟用 jsonp。
ODataContext 將會通過實體配置對象為每個實體創建一個ODataStore,然后用創建的數據存儲替換。比如下面這個示例:
var db = new DevExpress.data.ODataContext({ url: "/api.svc", jsonp: true, errorHandler: function (error) { alert(error.message); }, entities: { Messages: { key: "ID" }, ToDoLists: { key: "ID" }, } });
對于 LocalStore,提供一個唯一的名稱和要存儲的對象的關鍵屬性到store上。值得注意的是,在默認的情況下,LocalStore不會立即保留任何個別更改。相反,store會定期提交在批處理中未完成的更改。通過指定的 flushInterval 屬性,可以自定義這種時間間隔。如果你需要完全禁用此行為,設置immediate屬性為true,LocalStore就會立即進行更改。還可以指定進行即時的存儲改變或者是指定一個自定的保存間隔。
var localStore = new DevExpress.data.LocalStore({ key: "id", name: "myApplicationMessages", immediate: false, flushInterval: 7000 });
對于RestStore,通過URL屬性指定服務操作URL。你可以通過相應的屬性啟用jsonp。下面的代碼片段演示了如何創建一個RestStore:
var restStore = new DevExpress.data.RestStore({ url: "/TestRestService/MyOperation", jsonp: true } });
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件