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
18guest115.254.63.501ojsu5gOct 1, 2017 10:33:07 AMlinkresources
index.zulzul<?page id="pschedulemaster" title="Schedule Master" contentType="text/html;charset=UTF-8"?>
<zk>
<window id="nschedulemaster" apply = "com.imageinfo.expressvat.controller.emirate_master" sclass="expstyle1" height = "600px" width="100%" contentStyle="overflow:auto;position:relative">
<style>
.expstyle1 .z-window-modal-tl, .expstyle1 .z-window-modal-tr, .expstyle1 .z-window-modal-tm,
.expstyle1 .z-window-modal-cl, .expstyle1 .z-window-modal-cr, .expstyle1 .z-window-modal-cm,
.expstyle1 .z-window-modal-bl, .expstyle1 .z-window-modal-br, .expstyle1 .z-window-modal-bm,
.expstyle1 .z-window-modal-hl, .expstyle1 .z-window-modal-hr, .expstyle1 .z-window-modal-hm
{
background: #007DC8;
}
.expstyle1 .z-window-modal-header
{
background: #007DC8;
}
.expstyle1 .z-textbox
{
text-transform:uppercase;
}
</style>
<tabbox id="tb" orient="vertical" width ="100%" height="100%">
<tabs id="tabs" width="125px">
<tab id="addtab" label="Add"/>
<tab id="modifytab" label="Modify"/>
<tab id="deletetab" label="Delete"/>
<tab id="activatetab" label="Enable"/>
<tab id="deactivatetab" label="Disable"/>
</tabs>
<tabpanels>
<tabpanel style="overflow:auto;">
<div align="center" width="100%" height="100%" style="border: 1px solid lightgray">
<grid align="center" width="90%" height="80%" style="border:0px">
<columns>
<column width="25%"></column>
<column width="75%"></column>
</columns>
<rows width="100%" height="100%">
<row align="left" width="100%">
<label value="Emitare Code"></label>
<textbox id="aemrtcdtb" maxlength="2" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emitare Name"></label>
<textbox id="aemrtnmtb" maxlength="30" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emitare Alpha"></label>
<textbox id="aemrtalphatb" maxlength="5" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Billing Address"></label>
<textbox id="abladtb" maxlength="200" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Legal Name"></label>
<textbox id="alglnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Turnover Previous FP"></label>
<textbox id="atolfptb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Gross Turnover"></label>
<textbox id="agrstotb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Trade Name"></label>
<textbox id="atrdnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emirate TRN"></label>
<textbox id="aemrttrntb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Financial Period"></label>
<textbox id="afptb" maxlength="4" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client ID"></label>
<textbox id="aclntidtb" maxlength="36" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client Secret"></label>
<textbox id="aclntscrttb" maxlength="32" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="User Name"></label>
<textbox id="ausrnmtb" maxlength="32" width="40%"></textbox>
</row>
</rows>
</grid>
<hbox pack="center" height="2%" width="70%"></hbox>
<hbox pack="end" height="1%" width="90%" >
<hbox pack="end" height="1px" width="30%" >
<button id="addbtn" label="Save" width="70px" visible="true" class="btn btn-primary"/>
</hbox>
</hbox>
<hbox pack="center" height="2%" width="98%"></hbox>
</div>
</tabpanel>
<tabpanel style="overflow:auto;">
<div align="center" width="100%" height="100%" style="border: 1px solid lightgray">
<grid align="center" width="90%" height="80%" style="border:0px">
<columns>
<column width="25%"></column>
<column width="75%"></column>
</columns>
<rows width="100%" height="100%">
<row align="left" width="100%">
<label value="Emitare Code"></label>
<combobox id="memrtcdtb" maxlength="2" width="40%"></combobox>
</row>
<row align="left" width="100%">
<label value="Emitare Name"></label>
<textbox id="memrtnmtb" maxlength="30" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emitare Alpha"></label>
<textbox id="memrtalphatb" maxlength="5" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Billing Address"></label>
<textbox id="mbladtb" maxlength="200" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Legal Name"></label>
<textbox id="mlglnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Turnover Previous FP"></label>
<textbox id="mtolfptb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Gross Turnover"></label>
<textbox id="mgrstotb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Trade Name"></label>
<textbox id="mtrdnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emirate TRN"></label>
<textbox id="memrttrntb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Financial Period"></label>
<textbox id="mfptb" maxlength="4" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client ID"></label>
<textbox id="mclntidtb" maxlength="36" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client Secret"></label>
<textbox id="mclntscrttb" maxlength="32" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="User Name"></label>
<textbox id="musrnmtb" maxlength="32" width="40%"></textbox>
</row>
</rows>
</grid>
<hbox pack="center" height="2%" width="70%"></hbox>
<hbox pack="end" height="1%" width="90%" >
<hbox pack="end" height="1px" width="30%" >
<button id="modifybtn" label="Modify" width="70px" visible="true" class="btn btn-primary"/>
</hbox>
</hbox>
<hbox pack="center" height="2%" width="98%"></hbox>
</div>
</tabpanel>
<tabpanel style="overflow:auto;">
<div align="center" width="100%" height="100%" style="border: 1px solid lightgray">
<grid align="center" width="90%" height="80%" style="border:0px">
<columns>
<column width="25%"></column>
<column width="75%"></column>
</columns>
<rows width="100%" height="100%">
<row align="left" width="100%">
<label value="Emitare Code"></label>
<combobox id="demrtcdcb" maxlength="2" width="40%"></combobox>
</row>
<row align="left" width="100%">
<label value="Emitare Name"></label>
<textbox id="demrtnmtb" maxlength="30" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emitare Alpha"></label>
<textbox id="demrtalphatb" maxlength="5" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Billing Address"></label>
<textbox id="dbladtb" maxlength="200" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Legal Name"></label>
<textbox id="dlglnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Turnover Previous FP"></label>
<textbox id="dtolfptb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Gross Turnover"></label>
<textbox id="dgrstotb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Trade Name"></label>
<textbox id="dtrdnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emirate TRN"></label>
<textbox id="demrttrntb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Financial Period"></label>
<textbox id="dfptb" maxlength="4" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client ID"></label>
<textbox id="dclntidtb" maxlength="36" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client Secret"></label>
<textbox id="dclntscrttb" maxlength="32" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="User Name"></label>
<textbox id="dusrnmtb" maxlength="32" width="40%"></textbox>
</row>
</rows>
</grid>
<hbox pack="center" height="2%" width="70%"></hbox>
<hbox pack="end" height="1%" width="90%" >
<hbox pack="end" height="1px" width="30%" >
<button id="delbtn" label="Delete" width="70px" visible="true" class="btn btn-primary"/>
</hbox>
</hbox>
<hbox pack="center" height="2%" width="98%"></hbox>
</div>
</tabpanel>
<tabpanel style="overflow:auto;">
<div align="center" width="100%" height="100%" style="border: 1px solid lightgray">
<grid align="center" width="90%" height="80%" style="border:0px">
<columns>
<column width="25%"></column>
<column width="75%"></column>
</columns>
<rows width="100%" height="100%">
<row align="left" width="100%">
<label value="Emitare Code"></label>
<combobox id="actemrtcdcb" maxlength="2" width="40%"></combobox>
</row>
<row align="left" width="100%">
<label value="Emitare Name"></label>
<textbox id="actemrtnmtb" maxlength="30" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emitare Alpha"></label>
<textbox id="actemrtalphatb" maxlength="5" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Billing Address"></label>
<textbox id="actbladtb" maxlength="200" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Legal Name"></label>
<textbox id="actlglnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Turnover Previous FP"></label>
<textbox id="acttolfptb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Gross Turnover"></label>
<textbox id="actgrstotb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Trade Name"></label>
<textbox id="acttrdnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emirate TRN"></label>
<textbox id="actemrttrntb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Financial Period"></label>
<textbox id="actfptb" maxlength="4" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client ID"></label>
<textbox id="actclntidtb" maxlength="36" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client Secret"></label>
<textbox id="actclntscrttb" maxlength="32" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="User Name"></label>
<textbox id="actusrnmtb" maxlength="32" width="40%"></textbox>
</row>
</rows>
</grid>
<hbox pack="center" height="2%" width="70%"></hbox>
<hbox pack="end" height="1%" width="90%" >
<hbox pack="end" height="1px" width="30%" >
<button id="activatebtn" label="Activate" width="90px" visible="true" class="btn btn-primary"/>
</hbox>
</hbox>
<hbox pack="center" height="2%" width="98%"></hbox>
</div>
</tabpanel>
<tabpanel style="overflow:auto;">
<div align="center" width="100%" height="100%" style="border: 1px solid lightgray">
<grid align="center" width="90%" height="80%" style="border:0px">
<columns>
<column width="25%"></column>
<column width="75%"></column>
</columns>
<rows width="100%" height="100%">
<row align="left" width="100%">
<label value="Emitare Code"></label>
<combobox id="deactemrtcdcb" maxlength="2" width="40%"></combobox>
</row>
<row align="left" width="100%">
<label value="Emitare Name"></label>
<textbox id="deactemrtnmtb" maxlength="30" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emitare Alpha"></label>
<textbox id="deactemrtalphatb" maxlength="5" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Billing Address"></label>
<textbox id="deactbladtb" maxlength="200" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Legal Name"></label>
<textbox id="deactlglnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Turnover Previous FP"></label>
<textbox id="deacttolfptb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Gross Turnover"></label>
<textbox id="deactgrstotb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Trade Name"></label>
<textbox id="deacttrdnmtb" maxlength="100" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Emirate TRN"></label>
<textbox id="deactemrttrntb" maxlength="20" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Financial Period"></label>
<textbox id="deactfptb" maxlength="4" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client ID"></label>
<textbox id="deactclntidtb" maxlength="36" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="Client Secret"></label>
<textbox id="deactclntscrttb" maxlength="32" width="40%"></textbox>
</row>
<row align="left" width="100%">
<label value="User Name"></label>
<textbox id="deactusrnmtb" maxlength="32" width="40%"></textbox>
</row>
</rows>
</grid>
<hbox pack="center" height="2%" width="70%"></hbox>
<hbox pack="end" height="1%" width="90%" >
<hbox pack="end" height="1px" width="30%" >
<button id="deactivatebtn" label="Deactivate" width="90px" visible="true" class="btn btn-primary"/>
</hbox>
</hbox>
<hbox pack="center" height="2%" width="98%"></hbox>
</div>
</tabpanel>
</tabpanels>
</tabbox>
</window>
</zk>
TestComposer.javajavapackage com.imageinfo.expressvat.controller;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Tab;
import org.zkoss.zul.Textbox;
public class emirate_master extends GenericForwardComposer
{
Tab addtab;
Tab modifytab;
Tab deletetab;
Tab activatetab;
Tab deactivatetab;
Textbox aemrtcdtb;
Textbox aemrtnmtb;
Textbox aemrtalphatb;
Textbox abladtb;
Textbox alglnmtb;
Textbox atolfptb;
Textbox agrstotb;
Textbox atrdnmtb;
Textbox aemrttrntb;
Textbox afptb;
Textbox aclntidtb;
Textbox aclntscrttb;
Textbox ausrnmtb;
Button addbtn;
Combobox memrtcdtb;
Textbox memrtnmtb;
Textbox memrtalphatb;
Textbox mbladtb;
Textbox mlglnmtb;
Textbox mtolfptb;
Textbox mgrstotb;
Textbox mtrdnmtb;
Textbox memrttrntb;
Textbox mfptb;
Textbox mclntidtb;
Textbox mclntscrttb;
Textbox musrnmtb;
Button modifybtn;
Combobox demrtcdcb;
Textbox demrtnmtb;
Textbox demrtalphatb;
Textbox dbladtb;
Textbox dlglnmtb;
Textbox dtolfptb;
Textbox dgrstotb;
Textbox dtrdnmtb;
Textbox demrttrntb;
Textbox dfptb;
Textbox dclntidtb;
Textbox dclntscrttb;
Textbox dusrnmtb;
Button delbtn;
Combobox actemrtcdcb;
Textbox actemrtnmtb;
Textbox actemrtalphatb;
Textbox actbladtb;
Textbox actlglnmtb;
Textbox acttolfptb;
Textbox actgrstotb;
Textbox acttrdnmtb;
Textbox actemrttrntb;
Textbox actfptb;
Textbox actclntidtb;
Textbox actclntscrttb;
Textbox actusrnmtb;
Button activatebtn;
Combobox deactemrtcdcb;
Textbox deactemrtnmtb;
Textbox deactemrtalphatb;
Textbox deactbladtb;
Textbox deactlglnmtb;
Textbox deacttolfptb;
Textbox deactgrstotb;
Textbox deacttrdnmtb;
Textbox deactemrttrntb;
Textbox deactfptb;
Textbox deactclntidtb;
Textbox deactclntscrttb;
Textbox deactusrnmtb;
Button deactivatebtn;
@Override
public void doAfterCompose(Component comp) throws Exception
{
super.doAfterCompose(comp);
addtab.addEventListener("onClick", addtabevent);
modifytab.addEventListener("onClick", modifytabevent);
deletetab.addEventListener("onClick", deltabevent);
activatetab.addEventListener("onClick", activetabevent);
deactivatetab.addEventListener("onClick", deactivetabevent);
/*addbtn.addEventListener("onClick", addevent);
modifybtn.addEventListener("onClick", modifyevent);
delbtn.addEventListener("onClick", deleteevent);
activatebtn.addEventListener("onClick", activeevent);
deactivatebtn.addEventListener("onClick", deactiveevent);*/
}
EventListener addtabevent = new EventListener()
{
@Override
public void onEvent(Event ev) throws Exception
{
if(ev.getName().equalsIgnoreCase("onClick") && ev.getTarget().getId().equalsIgnoreCase("addtab"))
{
}
}
};
EventListener modifytabevent = new EventListener()
{
@Override
public void onEvent(Event ev) throws Exception
{
if(ev.getName().equalsIgnoreCase("onClick") && ev.getTarget().getId().equalsIgnoreCase("modifytab"))
{
}
}
};
EventListener deltabevent = new EventListener()
{
@Override
public void onEvent(Event ev) throws Exception
{
if(ev.getName().equalsIgnoreCase("onClick") && ev.getTarget().getId().equalsIgnoreCase("deletetab"))
{
}
}
};
EventListener activetabevent = new EventListener()
{
@Override
public void onEvent(Event ev) throws Exception
{
if(ev.getName().equalsIgnoreCase("onClick") && ev.getTarget().getId().equalsIgnoreCase("activatetab"))
{
}
}
};
EventListener deactivetabevent = new EventListener()
{
@Override
public void onEvent(Event ev) throws Exception
{
if(ev.getName().equalsIgnoreCase("onClick") && ev.getTarget().getId().equalsIgnoreCase("deactivatetab"))
{
}
}
};
}