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 :

ZK-5475

2JamesChu172.70.210.214155uq63Apr 7, 2025 2:24:53 AMlink

ZK-5475

1JamesChu172.70.210.215155uq63Apr 7, 2025 2:24:39 AMlink

menubar focus

191guest162.158.167.173126pn69Apr 4, 2025 2:30:46 PMlink

menubar focus

190guest162.158.134.243126pn69Apr 3, 2025 7:38:57 AMlink

menubar focus

189guest162.158.134.117126pn69Apr 3, 2025 7:37:04 AMlink

menubar focus

188guest162.158.134.117126pn69Apr 3, 2025 7:36:47 AMlink

menubar focus

187guest162.158.134.116126pn69Apr 3, 2025 7:36:36 AMlink

window

186guest162.158.134.117126pn69Apr 3, 2025 7:36:16 AMlink

window

185guest162.158.134.116126pn69Apr 3, 2025 7:34:52 AMlink

pre-process onkeydown event of decimalbox

6guest188.114.111.238id6omeApr 2, 2025 11:07:38 AMlink

Listbox Reorder Cells

5guest118.168.2.121a4ruolJan 14, 2013 11:54:35 PMlink

resources

index.zulzul<zk> <div apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.TestVM')"> <listbox model="@load(vm.model)"> <listhead> <listheader label="@load(vm.headers.length > 0? vm.headers.labels[0] : '')" visible="@load(vm.headers.length > 0)" /> <listheader label="@load(vm.headers.length > 1? vm.headers.labels[1] : '')" visible="@load(vm.headers.length > 1)" /> <listheader label="@load(vm.headers.length > 2? vm.headers.labels[2] : '')" visible="@load(vm.headers.length > 2)" /> </listhead> <template name="model" var="person"> <listitem> <listcell forEach="${person.seq}"> <textbox value="@bind(person.firstName)" if="${each == 1}" /> <textbox value="@bind(person.lastName)" if="${each == 2}" /> <spinner value="@bind(person.age)" if="${each == 3}" /> </listcell> </listitem> </template> </listbox> <button label="original seq" onClick="@command('originalSeq')" /> <button label="reverse" onClick="@command('reverse')" /> <button label="hide lastname with original seq" onClick="@command('oriSeqTwo')" /> </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[] _oriTwo = {1, 3}; private int[] _seq = _original; private List _rawData; public Header getHeaders () { String[] labels = new String[_seq.length]; for (int i = 0; i < _seq.length; i++) { int idx = _seq[i]; labels[i] = (idx == 1? "First Name" : idx == 2? "Last Name" : idx == 3? "Age" : ""); } Header headers = new Header(labels); 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); data.setSeq(_seq); modelData.add(data); } return new ListModelList(modelData); } public void getRawData () { _rawData = new ArrayList(); _rawData.add(new Person("First Name 01", "Last Name 01", 21, _seq)); _rawData.add(new Person("First Name 02", "Last Name 02", 22, _seq)); _rawData.add(new Person("First Name 03", "Last Name 03", 23, _seq)); } @Command @NotifyChange({"model", "headers"}) public void originalSeq () { _seq = _original; } @Command @NotifyChange({"model", "headers"}) public void reverse () { _seq = _reverse; } @Command @NotifyChange({"model", "headers"}) public void oriSeqTwo () { _seq = _oriTwo; } }Person.javajava public class Person { private String _firstName; private String _lastName; private int _age; private int[] _seq; public Person (String firstName, String lastName, int age, int[] seq) { _firstName = firstName; _lastName = lastName; _age = age; _seq = seq; } public String getFirstName () { return _firstName; } public String getLastName () { return _lastName; } public int getAge () { return _age; } public void setFirstName (String firstName) { _firstName = firstName; } public void setLastName (String lastName) { _lastName = lastName; } public void setAge (int age) { _age = age; } public int[] getSeq () { return _seq; } public void setSeq (int[] seq) { _seq = seq; } }Header.javajava public class Header { String[] _labels; public Header (String[] labels) { _labels = labels; } public String[] getLabels () { return _labels; } public int getLength () { return _labels != null? _labels.length : 0; } }