📄 z30-tree-0016.zul
字号:
<?xml version="1.0" encoding="UTF-8"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
When you click the "update" button, it should not show any error.
<window title="Dynamically Change by Model">
<zscript><![CDATA[
class MySimpleTreeNode extends SimpleTreeNode {
private String myData = null;
public MySimpleTreeNode(String data, List children) {
super(data, children);
myData = data.toString();
}
public String toString() {
return "Node: " + myData;
}
public void append(String data) {
myData = myData + data;
}
public Object getData() {
return myData;
}
}
List aChildren = new ArrayList();
List empty = new ArrayList();
List a2Children = new ArrayList();
MySimpleTreeNode a20 = new MySimpleTreeNode("A2-0", empty);
MySimpleTreeNode a21 = new MySimpleTreeNode("A2-1", empty);
MySimpleTreeNode a22 = new MySimpleTreeNode("A2-2", empty);
a2Children.add(a20);
a2Children.add(a21);
a2Children.add(a22);
MySimpleTreeNode a0 = new MySimpleTreeNode("A0", empty);
MySimpleTreeNode a1 = new MySimpleTreeNode("A1", empty);
MySimpleTreeNode a2 = new MySimpleTreeNode("A2", a2Children);
aChildren.add(a0);
aChildren.add(a1);
aChildren.add(a2);
List children = new ArrayList();
MySimpleTreeNode a = new MySimpleTreeNode("A", aChildren);
children.add(a);
List bChildren = new ArrayList();
MySimpleTreeNode b0 = new MySimpleTreeNode("B0", empty);
MySimpleTreeNode b1 = new MySimpleTreeNode("B1", empty);
MySimpleTreeNode b2 = new MySimpleTreeNode("B2", empty);
bChildren.add(b0);
bChildren.add(b1);
bChildren.add(b2);
MySimpleTreeNode b = new MySimpleTreeNode("B", bChildren);
children.add(b);
List rList = new ArrayList();
rList.add(a);
rList.add(b);
MySimpleTreeNode r = new MySimpleTreeNode("Root", rList);
List rootList = new ArrayList();
rootList.add(r);
MySimpleTreeNode root = new MySimpleTreeNode("Root", rootList);
SimpleTreeModel stm = new SimpleTreeModel(root);
public void update(){
r.append("a");
a0.append("0");
b0.append("0");
a22.append("2");
stm.fireEvent(root,0,0,org.zkoss.zul.event.TreeDataEvent.CONTENTS_CHANGED);
stm.fireEvent(a,0,0,org.zkoss.zul.event.TreeDataEvent.CONTENTS_CHANGED);
stm.fireEvent(b,0,0,org.zkoss.zul.event.TreeDataEvent.CONTENTS_CHANGED);
stm.fireEvent(a2,2,2,org.zkoss.zul.event.TreeDataEvent.CONTENTS_CHANGED);
}
]]></zscript>
<vbox>
<tree model="${stm}" id="tree" width="700PX">
</tree>
<hbox>
<button label='update' onClick='update()' />
</hbox>
</vbox>
</window>
</zk>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -