Suggested case list:
Using timer to refresh a grid
383guest172.69.33.12125nk0uiMay 7, 2020 7:23:47 AMlinkuser model to move item to another listbox
120guest162.158.193.148d0n3krApr 2, 2020 5:28:28 AMlinkDisabled list item row passed to VM-1981
296fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:44 PMlinkDisabled list item row passed to VM-1981
295fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:16 PMlinkDisabled list item row passed to VM-1981
294fatih123160.83.36.13225nk0uiFeb 13, 2018 3:30:44 PMlinkgrid sample with ListModel/RowRenderer
816guest80.82.2.1312vah9ajFeb 21, 2017 11:42:21 AMlinkgrid sample with ListModel/RowRenderer
809guest175.98.113.1622vah9ajJan 26, 2017 9:19:33 AMlinkgrid sample with ListModel/RowRenderer
196guest79.185.142.402vah9ajApr 26, 2014 10:53:57 PMlinkgrid sample with ListModel/RowRenderer
195guest79.185.142.402vah9ajApr 26, 2014 10:53:54 PMlinkgrid sample with ListModel/RowRenderer
194guest79.185.142.402vah9ajApr 26, 2014 10:53:51 PMlinkgrid sample with ListModel/RowRenderer
193guest79.185.142.402vah9ajApr 26, 2014 10:53:48 PMlinkgrid sample with ListModel/RowRenderer
192guest79.185.142.402vah9ajApr 26, 2014 10:53:44 PMlinkgrid sample with ListModel/RowRenderer
191guest79.185.142.402vah9ajApr 26, 2014 10:53:40 PMlinkHierarchy table without using ZK PE/EE
1aaknai151.28.135.2131s871daJul 29, 2013 11:02:46 PMlinkgrid sample with ListModel/RowRenderer
128aaknai151.28.135.2132vah9ajJul 29, 2013 7:20:00 PMlinkuser model to move item to another listbox
1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlinkUsing timer to refresh a grid
1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlinkFire a event from child iframe
1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlinkTextbox input restriction sample
1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlinkTest web core taglib in ZUL
1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlinkLatest 10 Fiddles :
constraint binding textbox
3guest172.68.151.16220peldaDec 5, 2025 5:08:19 PMlinkAnother new ZK fiddle
2guest172.68.151.16320peldaDec 5, 2025 5:07:51 PMlinkAnother new ZK fiddle
1guest172.68.151.16220peldaDec 5, 2025 5:07:32 PMlinkAnother new ZK fiddle
1peggypeng172.71.154.99364f4neDec 5, 2025 9:24:31 AMlinktooltip example
2guest104.22.23.13rc1ntoDec 4, 2025 2:23:45 PMlinkAnother new ZK fiddle
1guest172.69.134.2277t7602Dec 4, 2025 1:40:46 PMlinkAnother new ZK fiddle
1peggypeng104.22.17.1802df6e3oDec 4, 2025 8:41:29 AMlinkonClose
1peggypeng172.68.87.248j8kd8aDec 3, 2025 4:10:26 AMlinkAnother new ZK fiddle
1peggypeng172.69.134.2271rm7f4eNov 26, 2025 3:31:24 AMlinkZK-5912-Suggestion
2rebeccalai104.22.20.1442qrmiiuNov 26, 2025 2:07:15 AMlinkTabbox with MVVM
40gugufish172.68.118.1822akhibqJan 1, 2023 2:02:49 AMlinkresources
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 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" width="100%" height="100%" >
<tabs width="100px" children="@load(vm.valueList)">
<template name="children">
<tab label="@load(each.dmv.dmvNo)"/>
</template>
</tabs>
<tabpanels children="@load(vm.valueList)" >
<template name="children" var="secStatus">
<tabpanel>
<vbox>
<grid model="@load(secStatus.secList)" 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 ListModelList<SecStatus> valueList = new ListModelList<SecStatus>();
@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));
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 ListModelList<SecStatus> getValueList() {
//ListModelList <SecStatus> rtnList = new ListModelList <SecStatus>(valueList);
//return rtnList;
return valueList;
}
}
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;
}
}