Suggested case list:
Using timer to refresh a grid
383guest172.69.33.12125nk0uiMay 7, 2020 7:23:47 AMlinkuser model to move item to another listbox
120guest162.158.193.148d0n3krApr 2, 2020 5:28:28 AMlinkDisabled list item row passed to VM-1981
296fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:44 PMlinkDisabled list item row passed to VM-1981
295fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:16 PMlinkDisabled list item row passed to VM-1981
294fatih123160.83.36.13225nk0uiFeb 13, 2018 3:30:44 PMlinkgrid sample with ListModel/RowRenderer
816guest80.82.2.1312vah9ajFeb 21, 2017 11:42:21 AMlinkgrid sample with ListModel/RowRenderer
809guest175.98.113.1622vah9ajJan 26, 2017 9:19:33 AMlinkgrid sample with ListModel/RowRenderer
196guest79.185.142.402vah9ajApr 26, 2014 10:53:57 PMlinkgrid sample with ListModel/RowRenderer
195guest79.185.142.402vah9ajApr 26, 2014 10:53:54 PMlinkgrid sample with ListModel/RowRenderer
194guest79.185.142.402vah9ajApr 26, 2014 10:53:51 PMlinkgrid sample with ListModel/RowRenderer
193guest79.185.142.402vah9ajApr 26, 2014 10:53:48 PMlinkgrid sample with ListModel/RowRenderer
192guest79.185.142.402vah9ajApr 26, 2014 10:53:44 PMlinkgrid sample with ListModel/RowRenderer
191guest79.185.142.402vah9ajApr 26, 2014 10:53:40 PMlinkHierarchy table without using ZK PE/EE
1aaknai151.28.135.2131s871daJul 29, 2013 11:02:46 PMlinkgrid sample with ListModel/RowRenderer
128aaknai151.28.135.2132vah9ajJul 29, 2013 7:20:00 PMlinkuser model to move item to another listbox
1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlinkUsing timer to refresh a grid
1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlinkFire a event from child iframe
1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlinkTextbox input restriction sample
1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlinkTest web core taglib in ZUL
1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlinkLatest 10 Fiddles :
Another new ZK fiddle
2guest172.70.54.33qs9184Dec 12, 2025 4:55:43 PMlinkAnother new ZK fiddle
1guest172.68.76.130qs9184Dec 12, 2025 3:02:25 PMlinkAnother new ZK fiddle
5guest162.158.123.16919uqcccDec 10, 2025 12:36:13 PMlinkAnother new ZK fiddle
4guest104.22.23.2619uqcccDec 10, 2025 12:26:29 PMlinkAnother new ZK fiddle
3guest104.22.23.2719uqcccDec 10, 2025 12:03:08 PMlinkAnother new ZK fiddle
2guest104.22.23.2719uqcccDec 10, 2025 12:02:40 PMlinkAnother new ZK fiddle
1guest104.22.23.2619uqcccDec 10, 2025 12:01:58 PMlinkAnother new ZK fiddle
1guest172.71.139.1693ma2m4tDec 10, 2025 9:32:00 AMlinkZK-5545 about combobox readonly
2guest172.71.139.1683u5ged0Dec 10, 2025 8:12:48 AMlinkAnother new ZK fiddle
1guest172.71.139.1693u5ged0Dec 10, 2025 8:12:25 AMlinkTree that contains Anchor with Div - session-timeout Bug
3guest162.158.14.2660j3hkMar 7, 2025 1:16:34 PMlinkresources
index.zulzul<zk>
<window border="normal" title="hello" apply="pkg$.TestComposer">
<a href="https://www.zkoss.org/zkdemo/tree/tree_model">
<div>
<label value="Test outside of Tree - works!"/>
</div>
</a>
<tree id="tree" hflex="1" model="${$composer.treeModel}">
<treecols>
<treecol hflex="1" label="Path" />
</treecols>
<template name="model">
<treeitem>
<treerow>
<treecell>
<a href="https://www.zkoss.org/zkdemo/tree/tree_model">
<div>
<label value="${each.data.path}"/>
</div>
</a>
</treecell>
</treerow>
</treeitem>
</template>
</tree>
</window>
</zk>
TestComposer.javajavaimport org.zkoss.zk.ui.*;
import org.zkoss.zk.ui.event.*;
import org.zkoss.zk.ui.util.*;
import org.zkoss.zk.ui.ext.*;
import org.zkoss.zk.au.*;
import org.zkoss.zk.au.out.*;
import org.zkoss.zul.*;
public class TestComposer extends GenericForwardComposer{
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
}
public DefaultTreeModel<PackageData> getTreeModel() {
return new DefaultTreeModel<>(PackageDataUtil.getPackageData());
}
}
PackageData.javajava
public class PackageData {
private final String path;
private final String description;
private final String size;
public PackageData(String path, String description) {
this.path = path;
this.description = description;
this.size = null;
}
public PackageData(String path, String description, String size) {
this.path = path;
this.description = description;
this.size = size;
}
public String getPath() {
return path;
}
public String getDescription() {
return description;
}
public String getSize() {
return size;
}
}PackageDataUtil.javajavaimport org.zkoss.zul.DefaultTreeNode;
public class PackageDataUtil {
public static DefaultTreeNode<PackageData> getPackageData() {
return newNode(null,
newNode(new PackageData("/doc", "Release Notes and License")),
newNode(new PackageData("/dist", null),
newNode(new PackageData("/lib", null),
newNode(new PackageData("/zkforge", null),
newNode(new PackageData("ckez.jar", "CKeditor", "1709KB")),
newNode(new PackageData("timelinez.jar", "Timeline", "283KB")),
newNode(new PackageData("timeplotz.jar", "Timeplot", "112KB")),
newNode(new PackageData("gmapsz.jar", "Google Maps", "95KB")),
newNode(new PackageData("zuljsp.jar", "JSP", "129KB"))
),
newNode(new PackageData("/ext", null),
newNode(new PackageData("commons-fileupload.jar", "Upload Features")),
newNode(new PackageData("commons-io.jar", "Upload Features")),
newNode(new PackageData("jcommon.jar", "Chart Component")),
newNode(new PackageData("jfreechar.jar", "Chart Component")),
newNode(new PackageData("jasperreports.jar", "Jasperreport related Component")),
newNode(new PackageData("itext.jarjxl.jar", "Jasperreport related Component")),
newNode(new PackageData("poi.jar", "Jasperreport related Component")),
newNode(new PackageData("commons-collections.jar", "Jasperreport related Component")),
newNode(new PackageData("commons-logging.jar", "Jasperreport related Component")),
newNode(new PackageData("commons-digester.jar", "Jasperreport related Component")),
newNode(new PackageData("bsh.jar", "Scripting in Java interpreter for zscript (BeanShell)")),
newNode(new PackageData("js.jar", "Scripting in JavaScript (Rhino)")),
newNode(new PackageData("groovy.jar", "Scripting in Groovy")),
newNode(new PackageData("jruby.jar", "Scripting in Ruby (JRuby)")),
newNode(new PackageData("jython.jar", "Scripting in Python (Jython)")),
newNode(new PackageData("Filters.jar", "Captcha Component.")),
newNode(new PackageData("mvel.jar", "Evaluate the expressions (MVEL)")),
newNode(new PackageData("ognl.jar", "Evaluate the expressions (OGNL)"))
),
newNode(new PackageData("zcommon.jar", "ZK Core Jar File", "413KB")),
newNode(new PackageData("zcommon-el.jar", "ZK Core Jar File", "100KB")),
newNode(new PackageData("zel.jar", "ZK Core Jar File", "151KB")),
newNode(new PackageData("zhtml.jar", "ZK Core Jar File", "57KB")),
newNode(new PackageData("zml", "ZK Core Jar File", "57KB")),
newNode(new PackageData("zk.jar", "ZK Core Jar File", "1056KB")),
newNode(new PackageData("zkbind.jar", "ZK Core Jar File", "270KB")),
newNode(new PackageData("zkplus.jar", "ZK Core Jar File", "122KB")),
newNode(new PackageData("zul.jar", "ZK Core Jar File", "1311KB")),
newNode(new PackageData("zweb.jar", "ZK Core Jar File", "196KB"))
),
newNode(new PackageData("/src", "Jar Format Source Code")),
newNode(new PackageData("/xsd", "XSD files for Development")),
newNode(new PackageData("/WEB-INF", "Configuration Files"))
)
);
}
private static DefaultTreeNode<PackageData> newNode(PackageData data, DefaultTreeNode<PackageData>... children) {
if (children == null || children.length == 0) {
return new DefaultTreeNode<>(data);
}
return new DefaultTreeNode<>(data, children);
}
}