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 :

font awesome effects

1guest172.68.225.68aheacJul 26, 2024 7:24:57 AMlink

Chosenbox sample Test

20guest172.70.47.72j0jobjJul 25, 2024 10:24:34 AMlink

Another new ZK fiddle

9guest172.69.134.163gqb6ujJul 24, 2024 2:37:47 PMlink

Another new ZK fiddle

8guest172.71.154.152gqb6ujJul 24, 2024 2:36:24 PMlink

Another new ZK fiddle

7guest172.71.158.254gqb6ujJul 24, 2024 2:34:45 PMlink

Another new ZK fiddle

6guest172.71.158.254gqb6ujJul 24, 2024 2:34:40 PMlink

Another new ZK fiddle

5guest172.71.159.2gqb6ujJul 24, 2024 2:33:44 PMlink

Another new ZK fiddle

4guest172.71.159.2gqb6ujJul 24, 2024 2:33:03 PMlink

Another new ZK fiddle

3guest162.158.167.14gqb6ujJul 24, 2024 2:31:28 PMlink

Another new ZK fiddle

2guest162.158.167.14gqb6ujJul 24, 2024 2:31:18 PMlink

view model selection

4guest172.71.155.454bphu4Nov 20, 2023 3:15:14 PMlink

resources

index.zulzul<zk> <div viewModel="@id('vm')@init('pkg$.WiringTemplateViewModel')"> <button onClick="@command('update')" label="update"/> <button onClick="@command('updateIndex')" label="update index"/> <button onClick="@command('rewire')" label="rewire"/> <button onClick="@command('show')" label="show wired component"/> textbox used to show the value of "value" <textbox value="@load(vm.foo)" /> Listbox used a selection state source for the inner tabboxes <listbox model="@init(vm.tabModel)" onSelect="@command('updateIndex')"> </listbox> <apply value="@load(vm.foo)" tabs="@load(vm.tabModel)" selectedIndex="@ref(vm.selectedTabIndex)" templateURI="./innerTemplate.zul"/> </div> </zk>WiringTemplateViewModel.javajavaimport java.util.Arrays; import java.util.Iterator; import org.zkoss.bind.BindUtils; import org.zkoss.bind.annotation.AfterCompose; import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.ContextParam; import org.zkoss.bind.annotation.ContextType; import org.zkoss.bind.annotation.Init; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.select.Selectors; import org.zkoss.zk.ui.select.annotation.Wire; import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.ListModelList; import org.zkoss.zul.Textbox; public class WiringTemplateViewModel { private String foo = "bar"; private ListModelList<String> tabModel; @Wire("#tb") private Textbox tb; @Wire("#tb2") private Textbox tb2Fail; @Wire("#subwin #tb2") private Textbox tb2Works; @Init public void init() { tabModel = new ListModelList<>(Arrays.asList("model one","model two","model three")); } @AfterCompose public void doAfterCompose(@ContextParam(ContextType.VIEW) Component view) { Selectors.wireComponents(view, this, false); //too early, template is not instantiated } @Command public void update() { foo += "r"; BindUtils.postNotifyChange(this, "foo"); } @Command public void updateIndex() { BindUtils.postNotifyChange(this, "selectedTabIndex"); } @Command public void rewire(@ContextParam(ContextType.VIEW) Component view) { Selectors.wireComponents(view, this, false); } @Command public void show() { Clients.log("tb " + tb); Clients.log("tb2 without idspace path " + tb2Fail); Clients.log("tb2 with idspace path " + tb2Works); } public int getSelectedTabIndex() { Iterator<String> iterator = tabModel.getSelection().iterator(); String selectedModelItem = iterator.hasNext()? iterator.next() : null; return selectedModelItem != null ? tabModel.indexOf(selectedModelItem) : 0; } public String getFoo() { return foo; } public void setFoo(String foo) { this.foo = foo; } public ListModelList<String> getTabModel() { return tabModel; } public void setTabModel(ListModelList<String> tabModel) { this.tabModel = tabModel; } } innerTemplate.zulzul<zk> <textbox id="tb" value="@load(value)"/> <window id="subwin" > <textbox id="tb2" value="@load(value)"/> </window> tabbox with model from VM <tabbox model="@init(tabs)"> </tabbox> tabbox without model, binding on a VM's field for selectedIndex <tabbox selectedIndex="@load(selectedIndex)"> <tabs> <tab label="not model one"/> <tab label="not model two"/> <tab label="not model three"/> </tabs> </tabbox> </zk>