Suggested case list:

grid sample with ListModel/RowRenderer

816guest80.82.2.1312vah9ajFeb 21, 2017 11:42:21 AMlink

grid sample with ListModel/RowRenderer

809guest175.98.113.1622vah9ajJan 26, 2017 9:19:33 AMlink

grid sample with ListModel/RowRenderer

196guest79.185.142.402vah9ajApr 26, 2014 10:53:57 PMlink

grid sample with ListModel/RowRenderer

195guest79.185.142.402vah9ajApr 26, 2014 10:53:54 PMlink

grid sample with ListModel/RowRenderer

194guest79.185.142.402vah9ajApr 26, 2014 10:53:51 PMlink

grid sample with ListModel/RowRenderer

193guest79.185.142.402vah9ajApr 26, 2014 10:53:48 PMlink

grid sample with ListModel/RowRenderer

192guest79.185.142.402vah9ajApr 26, 2014 10:53:44 PMlink

grid sample with ListModel/RowRenderer

191guest79.185.142.402vah9ajApr 26, 2014 10:53:40 PMlink

Hierarchy table without using ZK PE/EE

1aaknai151.28.135.2131s871daJul 29, 2013 11:02:46 PMlink

grid sample with ListModel/RowRenderer

128aaknai151.28.135.2132vah9ajJul 29, 2013 7:20:00 PMlink

user model to move item to another listbox

1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlink

Using timer to refresh a grid

1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlink

update the textbox value and fire a onChange event (Client)

2TonyQ220.133.44.37qdorurFeb 12, 2012 11:56:25 PMlink

Fire a event from child iframe

1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlink

Textbox input restriction sample

1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlink

Test web core taglib in ZUL

1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlink

identify firefox or not in server side

1TonyQ198.203.175.1751nv2qreDec 10, 2011 4:25:04 AMlink

ZK addThis integration

1TonyQ198.203.175.1751apl96jNov 5, 2011 4:12:50 AMlink

Trigger onChange for textbox in client manually.

1TonyQ198.203.175.1751tmsvs1Sep 22, 2011 5:23:43 AMlink

modify selected status of listbox after compose

1guest61.224.42.2033486viqSep 18, 2011 12:26:53 PMlink

Latest 10 Fiddles :

grid sample with ListModel/RowRenderer

954guest201.249.105.2352vah9ajNov 19, 2017 3:04:38 PMlink

PDF Viewer in ZK using Iframe

1guest61.231.31.2382s4im3lNov 19, 2017 6:23:23 AMlink

PDF Viewer in ZK using Iframe

1guest61.231.31.23828141iaNov 19, 2017 6:23:20 AMlink

PDF Viewer in ZK using Iframe

2guest61.231.31.23822kk5dnNov 19, 2017 6:23:19 AMlink

PDF Viewer in ZK using Iframe

1guest61.231.31.23822kk5dnNov 19, 2017 6:22:58 AMlink

PDF Viewer in ZK using Iframe

1guest61.231.31.2381m5qehnNov 19, 2017 6:22:54 AMlink

Video Player

161guest78.176.13.108279e8hbNov 18, 2017 7:41:56 AMlink

XHTML component with both client and server command handlers

8guest179.184.16.883ejsjnqNov 17, 2017 7:16:25 PMlink

A sample for mouse over/out of a div

10guest109.91.33.1542aisu6tNov 17, 2017 3:54:39 PMlink

listbox styles

148guest186.233.152.2503t1dfguNov 17, 2017 11:00:54 AMlink

Tree sample

138guest130.126.255.1453tqq43hNov 14, 2017 11:13:56 PMlink

resources

index.zulzul<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit"?> <zk> <div id="treeDiv" apply="pkg$.TreeComposer"> <label id="lbl" /> <tree id="treeGrid" width="550px" model="@{treeDiv$composer.treeModel}" treeitemRenderer="@{treeDiv$composer.treeRenderer}"> <treecols sizable="true"> <treecol width="200px" label="Path" /> <treecol width="350px" label="Description" /> </treecols> </tree> </div> </zk>TreeComposer.javajavaimport java.util.ArrayList; import java.util.List; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.DefaultTreeModel; import org.zkoss.zul.DefaultTreeNode; import org.zkoss.zul.Div; import org.zkoss.zul.Label; import org.zkoss.zul.Tree; import org.zkoss.zul.Treecell; import org.zkoss.zul.Treeitem; import org.zkoss.zul.TreeitemRenderer; import org.zkoss.zul.Treerow; public class TreeComposer extends GenericForwardComposer<Div> { private Label lbl; public void doAfterCompose(Div comp) throws Exception { super.doAfterCompose(comp); } public void onInitModel$treeGrid() { lbl.setValue(lbl.getValue() + "onInitModel/"); } public void onInitRender$treeGrid() { lbl.setValue(lbl.getValue() + "onInitRender/"); } public DefaultTreeModel<FileInfo> getTreeModel() { return new DefaultTreeModel<FileInfo>(getFileInfoTreeData()); } public FileInfoRenderer getTreeRenderer() { return new FileInfoRenderer(); } private DefaultTreeNode<FileInfo> getFileInfoTreeData() { List<DefaultTreeNode<FileInfo>> inner3 = new ArrayList<DefaultTreeNode<FileInfo>>(); inner3.add(new DefaultTreeNode<FileInfo>(new FileInfo("zcommon.jar", "ZK Common Library"))); inner3.add(new DefaultTreeNode<FileInfo>(new FileInfo("zk.jar", "ZK Core Library"))); List<DefaultTreeNode<FileInfo>> inner2 = new ArrayList<DefaultTreeNode<FileInfo>>(); inner2.add(new DefaultTreeNode<FileInfo>(new FileInfo("/lib", "ZK Libraries"), inner3)); inner2.add(new DefaultTreeNode<FileInfo>(new FileInfo("/src", "Source Code"))); inner2.add(new DefaultTreeNode<FileInfo>(new FileInfo("/xsd", "XSD Files"))); List<DefaultTreeNode<FileInfo>> inner1 = new ArrayList<DefaultTreeNode<FileInfo>>(); inner1.add(new DefaultTreeNode<FileInfo>(new FileInfo("/doc", "Release and License Notes"))); inner1.add(new DefaultTreeNode<FileInfo>(new FileInfo("/dist", "Distribution"), inner2)); return new DefaultTreeNode<FileInfo>(null, inner1); } public class FileInfoRenderer implements TreeitemRenderer<DefaultTreeNode<FileInfo>> { public void render(final Treeitem item, DefaultTreeNode<FileInfo> data, int index) throws Exception { item.setValue(data); final FileInfo fi = data.getData(); item.setOpen(false); //for update treeNode data Treerow tr = item.getTreerow(); if(tr == null) { tr = new Treerow(); } else { tr.getChildren().clear(); } item.appendChild(tr); //render file path cell Treecell pathCell = new Treecell(); pathCell.setLabel(fi.getPath()); pathCell.setParent(tr); //render file description cell Treecell descriptionCell = new Treecell(); descriptionCell.setLabel(fi.getDescription()); descriptionCell.setParent(tr); } } public class FileInfo { private String path; private String description; public FileInfo() {} public FileInfo(String path, String description) { this.path = path; this.description = description; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } } }