動態產生tree使用PrimeFaces
畫面程式碼
<p:tree value="#{salesCtrl.deptRoot}" var="node" id="tree">
<p:treeNode id="treeNode">
<h:outputText value="#{node}" id="lblNode"/>
</p:treeNode>
</p:tree>
java程式碼
private TreeNode deptRoot;
deptRoot = new DefaultTreeNode("Root", null);---->對應畫面的VALUE值
TreeNode node0 = new DefaultTreeNode("TEST", deptRoot);---->根節點
//先找出第一層節點的資料
TreeNode node1[][]= new TreeNode[2][];--->用2維陣列
node1[0]=new TreeNode[results2.size()+1];--->宣告第一層的數量
for (int i = 0; i < results2.size(); i++) {
node1[0][i] = new DefaultTreeNode(results2.get(i).getDeptName().toString().trim(), node0);--->第一層節點資料
sql = "select * from customer where deptCode='" + results2.get(i).getDeptCode().toString().trim() + "'";-->找出第2層節點資料
List rs = (List) r.query(conn, sql, new MapListHandler());
node1[1]= new TreeNode[rs.size()+1];-->宣告第2層節點數量
for (int i3 = 0; i3 < rs.size(); i3++) {
Map map = (Map) rs.get(i3);
node1[1][i3]=new DefaultTreeNode(map.get("custNameC").toString().trim(), node1[0][i]);-->第二層節點資料
}
留言
張貼留言