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

Listbox Reorder Cells

1guest118.168.2.121a4ruolJan 14, 2013 5:05:20 PMlink

resources

index.zulzul<zk> <div apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.TestVM')"> <listbox model="@load(vm.model)"> <listhead> <listheader forEach="${vm.headers}" label="${each}" /> </listhead> <template name="model" var="cells"> <listitem> <listcell forEach="${cells}"> <textbox value="${each.data}" if="${each.type == 'textbox'}" /> <spinner value="${each.data}" if="${each.type == 'spinner'}" /> </listcell> </listitem> </template> </listbox> <button label="original seq" onClick="@command('originalSeq')" /> <button label="reverse" onClick="@command('reverse')" /> </div> </zk>TestVM.javajava import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.NotifyChange; import org.zkoss.zul.ListModel; import org.zkoss.zul.ListModelList; import java.util.*; public class TestVM { private int[] _original = {1, 2, 3}; private int[] _reverse = {3, 2, 1}; private int[] _seq = _original; private List _rawData; public String[] getHeaders () { String[] headers = new String[_seq.length]; for (int i = 0; i < _seq.length; i++) { int idx = _seq[i]; headers[i] = (idx == 1? "First Name" : idx == 2? "Last Name" : idx == 3? "Age" : ""); } return headers; } public ListModel getModel () { if (_rawData == null) { getRawData(); } List modelData = new ArrayList(); for (int i = 0; i < _rawData.size(); i++) { Person data = (Person)_rawData.get(i); CellData[] cells = new CellData[_seq.length]; for (int j = 0; j < _seq.length; j++) { int idx = _seq[j]; cells[j] = new CellData(data.getValue(idx), (idx == 3? "spinner" : "textbox")); } modelData.add(cells); } return new ListModelList(modelData); } public void getRawData () { _rawData = new ArrayList(); _rawData.add(new Person("First Name 01", "Last Name 01", 21)); _rawData.add(new Person("First Name 02", "Last Name 02", 22)); _rawData.add(new Person("First Name 03", "Last Name 03", 23)); } @Command @NotifyChange("model") public void originalSeq () { _seq = _original; } @Command @NotifyChange("model") public void reverse () { _seq = _reverse; } class Person { private String _firstName; private String _lastName; private int _age; public Person (String firstName, String lastName, int age) { _firstName = firstName; _lastName = lastName; _age = age; } public String getFirstName () { return _firstName; } public String getLastName () { return _lastName; } public int getAge () { return _age; } public String getValue (int i) { return i == 1? getFirstName() : i == 2? getLastName() : i == 3? getAge() + "" : ""; } } }CellData.javajava public class CellData { private String _data; private String _type; public CellData (String data, String type) { _data = data; _type = type; } public String getData () { return _data; } public String getType () { return _type; } }