——譯自http://www.sitepen.com/blog/2010/10/13/dive-into-dojo-data/
使用dojo data有助於快速建立web應用的介面,且易於嵌入各種資料來源。它在使用者介面與底層資料之間提供了一層抽象層,使得使用者介面開發人員能夠專注於ui的開發,而無需擔心資料庫、伺服器、或者資料格式的唯一性。
在接下來的例子裡,我們將用乙個jsonreststore為datagrid提供資料。然後,我們將用乙個xmlstore替換這個jsonreststore,以顯示ui和資料來源的解耦所帶來的便利。
資料以json的方式表示:
下一步,我們用乙個服務函式和乙個目標url來建立jsonreststore。同樣,對於這個例子而言我們將省略"target"引數。這個殘水對於今後開發真正的rest服務非常重要,但現在暫時不需要。
jsonreststore適用於比較大型的資料集。對於這種資料集,你往往不想(或根本不可能)高效地將其完全傳送到客戶端。jsonreststore能夠很好地處理與伺服器端的互動。
最後,我們來宣告乙個dojox.grid.datagrid。我們將用它顯示資料。
同樣的jsonreststore也能夠同時為乙個dijit.form.combobox提供資料:
看,把同乙份資料用於不同的ui小部件就是這麼簡單!
接下來,我們用乙個xmlstore來換下這個jsonreststore,看看轉換資料格式有多簡單。資料檔案如下:
然後,建立xml資料儲存器:
xmlstore是乙個客戶端的資料儲存器,用於讀取xml資料來源。它由dojo官方提供幷包含在dojox子專案中。xmlstore為基本的xml資料(一種常用的資料交換格式)提供讀/寫介面。xmlstore可以用於一般的xml文件,因此非常有用。儲存器的設計是你可以通過覆蓋其部分方法來自定義讀/寫資料的行為。
最後,將它交給datagrid。
同時,更新combobox:
我們不需要修改關於grid和combobox的任何**,就能讓它們繼續工作。唯一需要做的改動,就是宣告乙個資料來源,並將它設定為grid的輸入。我們不需要操心任何關於資料獲取、解析、以及管理的事情,資料儲存器的api做了所有的工作!
除此之外還有其他許多有用的資料儲存器,包括csvstore,filestore,flickrstore,jsonqueryreststore,perseverestore,servicestore,wikipediastore,等等。如果需要乙個完整列表,請參見dojox.data目錄
dojo data是乙個強大而靈活的工具。資料儲存器使得切換前端元件和後端實現都變得很容易,不需要改變許多**。因此我們可以為同乙個資料儲存器很方便地更換前端diji部件,另外,同乙個資料儲存器也能由頁面上的多個dijit部件、圖表或grid同時使用。
更多相關資源:
深入了解Dojo Data
譯自 使用dojo data有助於快速建立web應用的介面,且易於嵌入各種資料來源。它在使用者介面與底層資料之間提供了一層抽象層,使得使用者介面開發人員能夠專注於ui的開發,而無需擔心資料庫 伺服器 或者資料格式的唯一性。在接下來的例子裡,我們將用乙個jsonreststore為datagrid提供...
深入了解A
一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...
深入了解A
一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...