Processing...

Suggested case list:

Using timer to refresh a grid

383guest172.69.33.12125nk0uiMay 7, 2020 7:23:47 AMlink

user model to move item to another listbox

120guest162.158.193.148d0n3krApr 2, 2020 5:28:28 AMlink

Disabled list item row passed to VM-1981

296fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:44 PMlink

Disabled list item row passed to VM-1981

295fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:16 PMlink

Disabled list item row passed to VM-1981

294fatih123160.83.36.13225nk0uiFeb 13, 2018 3:30:44 PMlink

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

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

Latest 10 Fiddles :

constraint binding textbox

3guest172.68.151.16220peldaDec 5, 2025 5:08:19 PMlink

Another new ZK fiddle

2guest172.68.151.16320peldaDec 5, 2025 5:07:51 PMlink

Another new ZK fiddle

1guest172.68.151.16220peldaDec 5, 2025 5:07:32 PMlink

Another new ZK fiddle

1peggypeng172.71.154.99364f4neDec 5, 2025 9:24:31 AMlink

tooltip example

2guest104.22.23.13rc1ntoDec 4, 2025 2:23:45 PMlink

Another new ZK fiddle

1guest172.69.134.2277t7602Dec 4, 2025 1:40:46 PMlink

Another new ZK fiddle

1peggypeng104.22.17.1802df6e3oDec 4, 2025 8:41:29 AMlink

onClose

1peggypeng172.68.87.248j8kd8aDec 3, 2025 4:10:26 AMlink

Another new ZK fiddle

1peggypeng172.69.134.2271rm7f4eNov 26, 2025 3:31:24 AMlink

ZK-5912-Suggestion

2rebeccalai104.22.20.1442qrmiiuNov 26, 2025 2:07:15 AMlink

taishin tree dblclick selected item null

3christopherszu114.34.173.1992p1857mMay 9, 2016 9:17:10 AMlink

resources

index.zulzul<?xml version="1.0" encoding="UTF-8"?> <!-- B80-ZK-1696-tree.zul Purpose: Description: History: Tue Aug 11 16:39:27 CST 2015, Created by Christopher Copyright (C) Potix Corporation. All Rights Reserved. --> <zk> <zscript><![CDATA[ TreeModel modelOne = new DefaultTreeModel( new DefaultTreeNode(null, new DefaultTreeNode[] { new DefaultTreeNode("item 1"), new DefaultTreeNode("item 2", new DefaultTreeNode[] { new DefaultTreeNode("item 21"), new DefaultTreeNode("item 22"), new DefaultTreeNode("item 23"), new DefaultTreeNode("item 24"), new DefaultTreeNode("item 25"), new DefaultTreeNode("item 26") } ), new DefaultTreeNode("item 3"), new DefaultTreeNode("item 4"), new DefaultTreeNode("item 5"), new DefaultTreeNode("item 6", new DefaultTreeNode[] { new DefaultTreeNode("item 61"), new DefaultTreeNode("item 62"), new DefaultTreeNode("item 63"), new DefaultTreeNode("item 64"), new DefaultTreeNode("item 65"), new DefaultTreeNode("item 66") } ) } )); modelOne.setPageSize(3); TreeModel modelTwo = new DefaultTreeModel( new DefaultTreeNode(null, new DefaultTreeNode[] { new DefaultTreeNode("item a"), new DefaultTreeNode("item b"), new DefaultTreeNode("item c"), new DefaultTreeNode("item d"), new DefaultTreeNode("item e"), new DefaultTreeNode("item f") } )); modelTwo.setPageSize(3); ]]></zscript> <label multiline="true"> one tree view with multiple tree models, every model should preserve its own open, select, and paging state 1. tree is set to modelOne by default 2. change page with paging mold buttons, the label under tree view should show the correct page index 3. switch to modelTwo using the "change to modelTwo" button 4. the label should show the correct model name with page: 0 5. switch back to modelOne with the "change to modelOne" button 6. the label should show whatever page index modelOne had before switching to modelTwo Note: whenever the "get model PageCount" button is pressed, it should show the correct page count, same as the page count in the paging component </label> <tree id="tree" model="${modelOne}" mold="paging" > <attribute name="onCreate"><![CDATA[ String value = "model: " + (self.getModel() == modelOne? "modelOne" : "modelTwo"); lb.setValue(value + ", page: " + self.getModel().getActivePage() + ", tree page: " + self.getActivePage()); ]]></attribute> <attribute name="onPaging"><![CDATA[ String value = "model: " + (self.getModel() == modelOne? "modelOne" : "modelTwo"); lb.setValue(value + ", page: " + self.getModel().getActivePage() + ", tree page: " + self.getActivePage()); ]]></attribute> </tree> <label id="lb" /> <button id="btn1" label="change to modelOne"> <attribute name="onClick"><![CDATA[ tree.setModel(modelOne); lb.setValue("model: modelOne, page: " + modelOne.getActivePage() + ", tree page: " + tree.getActivePage()); ]]></attribute> </button> <button id="btn2" label="change to modelOne change after set"> <attribute name="onClick"><![CDATA[ tree.setModel(modelOne); modelOne.addOpenObject(modelOne.getRoot().getChildAt(1)); modelOne.setActivePage(1); lb.setValue("model: modelOne, page: " + modelOne.getActivePage() + ", tree page: " + tree.getActivePage()); ]]></attribute> </button> <button id="btn3" label="change to modelOne change before set"> <attribute name="onClick"><![CDATA[ modelOne.addOpenObject(modelOne.getRoot().getChildAt(1)); modelOne.setActivePage(1); tree.setModel(modelOne); lb.setValue("model: modelOne, page: " + modelOne.getActivePage() + ", tree page: " + tree.getActivePage()); ]]></attribute> </button> <button id="btn4" label="change to modelTwo"> <attribute name="onClick"><![CDATA[ tree.setModel(modelTwo); lb.setValue("model: modelTwo, page: " + modelTwo.getActivePage() + ", tree page: " + tree.getActivePage()); ]]></attribute> </button> <button id="btn5" label="get model PageCount"> <attribute name="onClick"><![CDATA[ lb2.setValue("page count: " + tree.getModel().getPageCount()); ]]></attribute> </button> <label id="lb2" /> </zk>