這裡分別介紹使用json本地資料,jsp和xml向treestore中載入資料的實現方式
1.本地json資料:
注意txt檔案中葉子節點一定要加上leaf:true的屬性,否則檔案會無限展開的
var tree = new01-04-02.txt內容如下:ext.tree.treepanel(,
root:
})});
tree.render('tree');
[,,最後的效果如下:]},]},
]
2.使用jsp提供後台資料:
注意一定要為樹形中的節點設定id,不能重複,後台會根據id來判斷究竟是哪個節點正在展開,從而返回對應的資料,如果不設定root的id,ext會預設根節點的id為root。
前台**如下:
var tree = new後台jsp**:ext.tree.treepanel(,
root:
})});
tree.render('tree');
response.setcharacterencoding("utf-8");分析下後台**://獲得node引數,對應的是正在展開的節點id
string node = request.getparameter("node");
system.out.println(node);
string json = "";
if ("0".equals(node)) ,]";
} else
if ("1".equals(node)) ,]";
} else
if ("2".equals(node)) ,]";
} else
if ("11".equals(node)) ,]";
}response.getwriter().print(json);
%>
樹形非同步讀取的關鍵是node引數,當某個節點展開時,treestore會根據設定的url位址去後台讀取資料。而當傳送請求時,treestore會把這個節點的id作為引數一起傳送到後台去。對後台來說,只要獲得node引數,就知道是哪個節點正在展開。接著會根據節點的id返回對應的json資料。
效果如下:
3.xml資料:
var store = ext.create('ext.data.treestore', ,效果如下:reader:
},sorters: [,],
root:
});//create the tree
var tree = ext.create('ext.tree.panel', ]
},height: 350,
width: 400,
title: 'directory listing',
renderto: 'tree',
collapsible:
true
});
ExtJs4 問題總結
在用到ext grid的時候,如果後台計算量大或者返回的資料量過大導致載入資料時間超時,時間超時後會發現grid沒有資料顯示。解決的方法是把超時的時間設定大點,ext的ajax預設請求都是30秒。設定方法如下 ext.ajax.timeout 90000 一秒 1000毫秒。上面設定是把timeou...
學習Extjs4心得
其實,學習extjs4的過程中,經常的檢視api。因為一開始接觸這個,所以一開始不會檢視api,但後來玩久了,也就能夠很熟練的玩了。其實,不管事什麼開發語言還是框架,學會檢視api是我們必須要做的事 在開發過程中,最糾結的就是除錯,我用的是firefox,裡面有個firebug,是除錯js的神器,可...
ExtJs4 基礎必備
解壓有20多兆,別怕,真正執行的沒這麼大。認識下這個包的檔案結構吧。1.類的命名規範 2 原始檔的命名規則 3 方法和變數的命名規則 4 屬性的命名規則 onready 只有在ext框架全部載入完後才能在客戶端的 中使用ext,而ext的onready正是用來註冊在ext框架及頁面的html 載入完...