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 AMlinkAnother new ZK fiddle
2guest220.128.108.1043s26li9Dec 4, 2015 5:43:59 AMlinkresources
index.zulzul<zk>
<style>
.result-caption .z-caption-l {
text-align: center;
}
.z-menubar-hor .menu-space {
background-image: none;
}
</style>
<window height="100%" apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('org.zkoss.cht.viewmodel.TaxData01ViewModel')">
<window border="normal" mode="overlapped">
<caption />
<menubar width="100%">
<menuitem label="1違反稅費資料"/>
<menuitem label="2免稅費資料"/>
<menuitem label="3退費資料"/>
<menuitem label="4螢幕列印"/>
<menuitem label="5越區查詢"/>
<menu label="6其它作業">
<menupopup>
<menuitem label="A"/>
<menuitem label="B"/>
</menupopup>
</menu>
<menuitem label="0結束"/>
<menuseparator width="50px" sclass="menu-space"/>
<menuitem label="h操作說明"/>
</menubar>
<vlayout style="padding: 5px;">
<hlayout sclass="z-valign-middle">
車號<textbox/>
汽車車別
<radiogroup>
<radio label="汽車"/>
<radio label="重機車"/>
<radio label="輕機車"/>
</radiogroup>
車別<textbox/>
</hlayout>
<hlayout sclass="z-valign-middle">
排氣量<intbox/>
能源種類
<selectbox model="@load(vm.fuelList)"
selectedItem="@bind(vm.selectedFuel)">
<template name="model">${each}</template>
</selectbox>
現況<textbox/>
現況日期<datebox/>
</hlayout>
<hlayout sclass="z-valign-middle">
車主姓名<textbox width="250px"/>
車主證號<textbox/>
</hlayout>
<hlayout sclass="z-valign-middle">
車主地址<textbox width="500px"/>
</hlayout>
<hlayout sclass="z-valign-middle">
通信地址<textbox width="500px"/>
</hlayout>
<hlayout sclass="z-valign-middle">
稅額<intbox/>
費額<intbox/>
稅狀況
<selectbox model="@load(vm.taxStatusList)"
selectedItem="@bind(vm.selectedTaxStatus)">
<template name="model">${each}</template>
</selectbox>
費狀況
<selectbox model="@load(vm.billStatusList)"
selectedItem="@bind(vm.selectedBillStatus)">
<template name="model">${each}</template>
</selectbox>
禁動次數<spinner width="40px"/>
動保<textbox width="40px"/>
</hlayout>
<hlayout sclass="z-valign-middle">
牌照稅未結次數<spinner width="40px"/>
燃料費未結次數<spinner width="40px"/>
違規次數<spinner width="40px"/>
違反稅費強執<textbox width="40px"/>
</hlayout>
<hlayout sclass="z-valign-middle">
無牌違規<textbox width="150px"/>
路稽<textbox/>
行照有效日<datebox/>
上次車號<textbox width="80px"/>
</hlayout>
<hlayout sclass="z-valign-middle">
失竊日期<datebox/>
下次定檢日<datebox/>
重領或換牌後車號<textbox/>
移置<textbox width="40px"/>
</hlayout>
<hlayout sclass="z-valign-middle">
牌照稅未結年度期別<textbox width="500px"/>
</hlayout>
<hlayout sclass="z-valign-middle">
燃料費未結年度期別<textbox width="500px"/>
</hlayout>
<hlayout sclass="z-valign-middle">
訊息:<textbox width="600px"/>
</hlayout>
</vlayout>
</window>
<window border="normal" mode="overlapped" position="bottom" width="90%">
<caption label="F" sclass="result-caption"/>
<listbox model="@load(vm.carTaxList)" height="150px">
<listhead>
<listheader label="年" width="50px"/>
<listheader label="期季" width="50px"/>
<listheader label="類別" width="50px"/>
<listheader label="應納金" width="80px"/>
<listheader label="繳納金" width="80px"/>
<listheader label="滯納金" width="80px"/>
<listheader label="繳納日"/>
<listheader label="入帳日"/>
<listheader label="流水號"/>
<listheader label="銀行代號"/>
<listheader label="登錄日"/>
<listheader label="所站代號"/>
<listheader label="車號"/>
</listhead>
<template name="model" var="carTax">
<listitem>
<listcell label="@load(carTax.year)"/>
<listcell label="@load(carTax.season)"/>
<listcell label="@load(carTax.type)"/>
<listcell label="@load(carTax.receivables)"/>
<listcell label="@load(carTax.payment)"/>
<listcell label="@load(carTax.lateFee)"/>
<listcell label="@load(carTax.payDate)@converter(vm.dateConverter, format='yyyyMMdd')"/>
<listcell label="@load(carTax.incomeDate)@converter(vm.dateConverter, format='yyyyMMdd')"/>
<listcell label="@load(carTax.noId)"/>
<listcell label="@load(carTax.bankId)"/>
<listcell label="@load(carTax.createDate)@converter(vm.dateConverter, format='yyyyMMdd')"/>
<listcell label="@load(carTax.officeId)"/>
<listcell label="@load(carTax.carNumber)"/>
</listitem>
</template>
</listbox>
</window>
</window>
</zk>TaxData01ViewModel.javajavaimport java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.zkoss.bind.BindContext;
import org.zkoss.bind.Converter;
import org.zkoss.bind.annotation.Init;
import org.zkoss.bind.converter.FormatedDateConverter;
import org.zkoss.cht.bean.CarTaxInfo;
import org.zkoss.cht.dao.CarTaxDAO;
import org.zkoss.zk.ui.Component;
public class TaxData01ViewModel {
private List<String> fuelList;
private List<String> taxStatusList;
private List<String> billStatusList;
private List<CarTaxInfo> carTaxList;
private String selectedFuel;
private String selectedTaxStatus;
private String selectedBillStatus;
@Init
public void init() {
fuelList = new ArrayList<String>(2);
fuelList.add("汽油");
fuelList.add("柴油");
selectedFuel = "汽油";
taxStatusList = new ArrayList<String>(1);
taxStatusList.add("一般");
selectedTaxStatus = "一般";
billStatusList = new ArrayList<String>(1);
billStatusList.add("一般");
selectedBillStatus = "一般";
CarTaxDAO carTaxDao = new CarTaxDAO();
carTaxList = carTaxDao.findAll();
}
public List<CarTaxInfo> getCarTaxList() {
return carTaxList;
}
public List<String> getFuelList() {
return fuelList;
}
public List<String> getTaxStatusList() {
return taxStatusList;
}
public List<String> getBillStatusList() {
return billStatusList;
}
public String getSelectedFuel() {
return selectedFuel;
}
public void setSelectedFuel(String selectedFuel) {
this.selectedFuel = selectedFuel;
}
public String getSelectedTaxStatus() {
return selectedTaxStatus;
}
public void setSelectedTaxStatus(String selectedTaxStatus) {
this.selectedTaxStatus = selectedTaxStatus;
}
public String getSelectedBillStatus() {
return selectedBillStatus;
}
public void setSelectedBillStatus(String selectedBillStatus) {
this.selectedBillStatus = selectedBillStatus;
}
public Converter getDateConverter() {
return new FormatedDateConverter() {
public Object coerceToUi(Object val, Component comp,
BindContext ctx) {
final Date date = (Date) val;
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.YEAR, cal.get(Calendar.YEAR) - 1911);
return super.coerceToUi(cal.getTime(), comp, ctx);
}
};
}
}