「Ext2.2 about」:修訂間差異

出自DILA Wiki
imported>Duncan
imported>Duncan
 
行 1: 行 1:
==使用arraytree==
==使用arraytree==


===需求===
 如果你要使用tree狀清單元件,並且有在html loaded之後就要展開某個節點的需求的話,請使用下面的範例:
 如果你要使用tree狀清單元件,並且有在html loaded之後就要展開某個節點的需求的話,請使用下面的範例:


http://arraytree.extjs.eu/
http://arraytree.extjs.eu/


===分析現有的example 和這個範例===
我測試了在ext的example裡的tree元件,其中 xml loader 、json loader,都是在讀完第一層就休息了,所以我們沒辨法直接存取到第n個的節點
這是它的效能考量、也是在一般的情況下使用tree元件的處理方法。
但我們的需求是,載入就必須隨機存取,所以要為每個node註冊。
===範例===
 我在佛寺志這個專案 http://dev.ddbc.edu.tw/fosizhi/index.html
 我在佛寺志這個專案 http://dev.ddbc.edu.tw/fosizhi/index.html
 使用了上面的範例
 使用了上面的範例
行 12: 行 22:




===ps.===
有人有更好的做法,請多多交流。


==如果傳參數給Ext ,當成動態網頁  (test in FF IE67 Opera safari) ==
==如果傳參數給Ext ,當成動態網頁  (test in FF IE67 Opera safari) ==

於 2008年12月18日 (四) 09:09 的最新修訂

使用arraytree

需求

如果你要使用tree狀清單元件,並且有在html loaded之後就要展開某個節點的需求的話,請使用下面的範例:

http://arraytree.extjs.eu/

分析現有的example 和這個範例

我測試了在ext的example裡的tree元件,其中 xml loader 、json loader,都是在讀完第一層就休息了,所以我們沒辨法直接存取到第n個的節點 這是它的效能考量、也是在一般的情況下使用tree元件的處理方法。

但我們的需求是,載入就必須隨機存取,所以要為每個node註冊。


範例

我在佛寺志這個專案 http://dev.ddbc.edu.tw/fosizhi/index.html 使用了上面的範例

唯一不同的是,我需要使用來自server端的資料,所以我以ajax開啟檔案,再以eval()函式處理成array,這樣一來就符合它的要求。 (需要看的人,到http://dev.ddbc.edu.tw/fosizhi/index.html,把網頁另存新檔,可以看到所有的js code寫在function.js)


ps.

有人有更好的做法,請多多交流。

如果傳參數給Ext ,當成動態網頁 (test in FF IE67 Opera safari)

var book=; params = Ext.urlDecode(window.location.search.substring(1));

if(params.book) book=params.book; else alert('no params=book');

//code here for param


如果我的url是 http://duncan.home.com.tw/?book=play&money=1000 在經過params = Ext.urlDecode(window.location.search.substring(1));後 我可以用變數params,取得 params.book params.mondy