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

Tabbox with MVVM

47gugufish172.68.119.1252akhibqJan 1, 2023 5:49:14 AMlink

resources

index.zulzul<?page title="new page title" contentType="text/html;charset=UTF-8"?> <?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?> <zk> <window apply="org.zkoss.bind.BindComposer" id="winLogin" border="none" style="border-radius:0px;" width="100%" height="100%" mode="modal" position="center" viewModel="@id('vm') @init('pkg$.TabboxTestVM')"> <tabbox orient="horizontal" vflex="1" hflex="1" > <tabs width="100px" children="@load(vm.valueMap)"> <template name="children"> <tab label="@load(c:cat3(each.key.dmvNo, ' ', each.key.dmvName))"/> </template> </tabs> <tabpanels children="@load(vm.valueMap)" > <template name="children" var="map"> <tabpanel> <vbox> <grid model="@load(map.value)" emptyMessage="查無資料"> <columns> <column label="場次" /> <column label="組別" /> <column label="總名額" /> <column label="預約名額" /> </columns> <template name="model" var="sec"> <row> <label value="@load(sec.secId)" /> <label value="@load(sec.divId)" /> <label value="@load(sec.max)" /> <label value="@load(sec.reservMax)" /> </row> </template> </grid> </vbox> </tabpanel> </template> </tabpanels> </tabbox> </window> </zk>TabboxTestVM.javajavaimport java.util.TreeMap; import java.util.List; import java.util.ArrayList; import org.zkoss.zul.ListModelMap; import org.zkoss.zul.ListModelList; import org.zkoss.bind.annotation.Init; public class TabboxTestVM { private List<SecStatus> valueList = new ArrayList<SecStatus>(); private TreeMap<Common.DMV, List<Sec>> valueMap = new TreeMap<Common.DMV, List<Sec>> (); @Init public void init(){ List<Sec> list40 = new ArrayList<Sec>(); list40.add(new Sec("40", 1, 1, 20, 10)); list40.add(new Sec("40", 1, 2, 15, 10)); list40.add(new Sec("40", 2, 3, 30, 20)); list40.add(new Sec("40", 2, 4, 20, 20)); List<Sec> list41 = new ArrayList<Sec>(); list41.add(new Sec("41", 1, 1, 15, 10)); list41.add(new Sec("41", 2, 1, 20, 15)); list41.add(new Sec("41", 2, 4, 20, 20)); List<Sec> list42 = new ArrayList<Sec>(); list42.add(new Sec("42", 1, 2, 15, 10)); list42.add(new Sec("42", 2, 6, 20, 20)); List<Sec> list43 = new ArrayList<Sec>(); list43.add(new Sec("43", 1, 1, 20, 10)); list43.add(new Sec("43", 1, 2, 15, 10)); list43.add(new Sec("43", 2, 3, 30, 20)); List<Sec> list44 = new ArrayList<Sec>(); list44.add(new Sec("44", 1, 1, 20, 10)); list44.add(new Sec("44", 2, 3, 30, 20)); list44.add(new Sec("44", 2, 4, 20, 20)); List<Sec> list45 = new ArrayList<Sec>(); list45.add(new Sec("45", 1, 1, 20, 10)); list45.add(new Sec("45", 1, 2, 15, 10)); List<Sec> list46 = new ArrayList<Sec>(); list46.add(new Sec("46", 2, 3, 30, 20)); list46.add(new Sec("46", 2, 4, 20, 20)); valueMap.put(Common.DMV.MV_40, list40); valueMap.put(Common.DMV.MV_41, list41); valueMap.put(Common.DMV.MV_42, list42); valueMap.put(Common.DMV.MV_43, list43); valueMap.put(Common.DMV.MV_44, list44); valueMap.put(Common.DMV.MV_45, list45); valueMap.put(Common.DMV.MV_46, list46); SecStatus secStatus40 = new SecStatus(Common.DMV.MV_40, list40); SecStatus secStatus41 = new SecStatus(Common.DMV.MV_41, list41); SecStatus secStatus42 = new SecStatus(Common.DMV.MV_42, list42); SecStatus secStatus43 = new SecStatus(Common.DMV.MV_43, list43); SecStatus secStatus44 = new SecStatus(Common.DMV.MV_44, list44); SecStatus secStatus45 = new SecStatus(Common.DMV.MV_45, list45); SecStatus secStatus46 = new SecStatus(Common.DMV.MV_46, list46); valueList.add(secStatus40); valueList.add(secStatus41); valueList.add(secStatus42); valueList.add(secStatus43); valueList.add(secStatus44); valueList.add(secStatus45); valueList.add(secStatus46); } public List<SecStatus> getValueList() { //ListModelList <SecStatus> rtnList = new ListModelList <SecStatus>(valueList); //return rtnList; return valueList; } public TreeMap<Common.DMV, List<Sec>> getValueMap() { return valueMap; } } Sec.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.*; import java.util.Date; public class Sec { private String dmvNo; private int secId; private int divId; private int max; private int reservMax; public Sec(String dmvNo, int secId, int divId, int max, int reservMax) { this.dmvNo = dmvNo; this.secId = secId; this.divId = divId; this.max = max; this.reservMax = reservMax; } public void setDmvNo(String _dmvNo) { this.dmvNo = _dmvNo; } public String getDmvNo() { return this.dmvNo; } public void setSecId(int _secId) { this.secId = _secId; } public int getSecId() { return this.secId; } public void setDivId(int _divId) { this.divId = _divId; } public int getDivId() { return this.divId; } public void setMax(int _max) { this.max = _max; } public int getMax() { return this.max; } public void setReservMax(int _reservMax) { this.reservMax = _reservMax; } public int getReservMax() { return this.reservMax; } } Common.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 Common { public static enum DMV { MV_40("40", "台北所"), MV_41("41", "板橋站"), MV_42("42", "基隆站"), MV_43("43", "宜蘭站"), MV_44("44", "花蓮站"), MV_45("45", "玉里分站"), MV_46("46", "蘆洲站"); private String dmvNo; private String dmvName; private DMV(String _dmvNo, String _dmvName) { this.dmvNo = _dmvNo; this.dmvName = _dmvName; } public String getDmvNo() { return dmvNo; } public String getDmvName() { return dmvName; } } } SecStatus.javajavaimport java.util.List; import java.io.Serializable; public class SecStatus implements Serializable { private static final long serialVersionUID = 1L; private Common.DMV dmv; private List<Sec> secList; public SecStatus(Common.DMV _dmv, List<Sec> _secList) { dmv = _dmv; secList = _secList; } public Common.DMV getDmv() { return dmv; } public void setDMV(Common.DMV _dmv) { dmv = _dmv; } public List<Sec> getSecList() { return secList; } public void setSecList(List <Sec> _secList) { secList = _secList; } }