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

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

ckeditor startup with source mode

1benbai61.216.4.1961lvlb1lSep 11, 2011 1:56:30 PMlink

Latest 10 Fiddles :

dynamic context menu

6guest181.198.200.361eh079aJan 20, 2018 6:34:04 PMlink

dynamic context menu

5guest181.198.200.361eh079aJan 20, 2018 6:32:29 PMlink

Another new ZK fiddle

2guest115.254.63.501mhg4hfJan 20, 2018 12:58:51 PMlink

Another new ZK fiddle

1guest115.254.63.501mhg4hfJan 20, 2018 12:58:33 PMlink

Grid Drag and Drop with Keep order

1guest203.223.191.7431l0blpJan 20, 2018 10:51:58 AMlink

Grid Drag and Drop with Keep order

18guest203.223.191.741ps4k1pJan 20, 2018 10:51:57 AMlink

Custom Drag message

24guest87.1.205.1191b13tbbJan 20, 2018 6:05:50 AMlink

Custom Drag message

23guest87.1.205.1191b13tbbJan 20, 2018 6:05:21 AMlink

Grid row Drag and Drop with model

7guest87.1.205.1192u8outdJan 20, 2018 5:46:28 AMlink

Grid Drag and Drop with Keep order

17guest87.1.205.1191ps4k1pJan 20, 2018 5:40:04 AMlink

Listbox Render on Demand

101guest181.28.197.1501t9kc1eOct 20, 2017 7:54:27 PMlink

resources

index.zulzul<zk> <div border="normal" title="hello" apply="pkg$.ListboxComposer"> <hbox> <vbox> Listbox with ROD disabled <button id="load" label="LoadData" /> <listbox id="listGrid" width="600px" height="700px"> <custom-attributes org.zkoss.zul.listbox.rod="false"/> <listhead> <listheader label="id" /> <listheader label="nation" /> <listheader label="name" /> </listhead> </listbox> </vbox> <vbox> Listbox with ROD enabled <custom-attributes org.zkoss.zul.listbox.rod="true"/> <button id="loadRod" label="LoadData" /> <listbox id="listGridRod" width="600px" height="700px"> <listhead> <listheader label="id" /> <listheader label="nation" /> <listheader label="name" /> </listhead> </listbox> </vbox> </hbox> </div> </zk> ListboxComposer.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 ListboxComposer extends GenericForwardComposer{ private Listbox listGrid; private Listbox listGridRod; private ListModelList listModel; public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); listModel = new ListModelList(DummyData.getPersonList()); listGrid.setItemRenderer(new PersonRenderer()); listGridRod.setItemRenderer(new PersonRenderer()); } public void onClick$load() { listGrid.setModel(listModel); } public void onAfterRender$listGrid() { for(int i = 0; i<30; i++) listGrid.renderItem(listGrid.getItemAtIndex(i)); } public void onClick$loadRod() { listGridRod.setModel(listModel); } } DummyData.javajavapublic class DummyData { private static ArrayList<Person> personList = new ArrayList<Person>(); static { setPersonList(); } public static ArrayList<Person> getPersonList() { return personList; } private static void setPersonList() { int size = 0, i = 0; while (i < 200) { Person p = new Person(++i, "Taiwan", "name" + i); p.setGameList(getRandomGameList()); personList.add(p); } size = personList.size(); while (i < size + 200) { Person p = new Person(++i, "America", "name" + i); p.setGameList(getRandomGameList()); personList.add(p); } size = personList.size(); while (i < size + 200) { Person p = new Person(++i, "Canada", "name" + i); p.setGameList(getRandomGameList()); personList.add(p); } } } Person.javajavaimport java.util.List; public class Person { private Integer id; private String nation; private String name; public Person() {} public Person(Integer id, String nation, String name) { this.id = id; this.nation = nation; this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNation() { return nation; } public void setNation(String nation) { this.nation = nation; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }PersonRenderer.javajavaimport org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; public class PersonRenderer implements ListitemRenderer { public void render(Listitem item, Object data) throws Exception { Person person = (Person) data; item.setValue(person); new Listcell(String.valueOf(person.getId())).setParent(item); new Listcell(person.getNation()).setParent(item); new Listcell(person.getName()).setParent(item); new Listcell(String.valueOf(person.getAge())).setParent(item); } }