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

IFTTT

995okspry134.68.31.2272q0rn3uNov 2, 2012 3:07:50 PMlink

resources

index.zulzul<zk xmlns:w="client"> <script> function show(thingid) { var zkwidget = zk.Widget.$('$'+ thingid); //zk zkwidget.setVisible(true); } function hide(thingid) { var zkwidget = zk.Widget.$('$'+ thingid); //zk zkwidget.setVisible(false); } </script> <style> .z-tab-accordion .z-tab-accordion-header, .z-tab-accordion .z-tab-accordion-tl, .z-tab-accordion .z-tab-accordion-tr, .z-tab-accordion .z-tab-accordion-hl, .z-tab-accordion .z-tab-accordion-hr, .z-tab-accordion .z-tab-accordion-hm, .z-tab-accordion .z-tab-accordion-text, .z-tab-accordion .z-tab-accordion-close { background:none; border:none; color:#7A8C96; font-family: ; font-size:1.3em; text-shadow:0px 1px 1px #A8B8C2; padding:5px; } .z-tabpanels .z-tabpanel, .z-tabpanels .z-tabpanel-cnt { background-image:none; border:none; } .z-checkbox .z-checkbox-cnt { font-size:1.1em; padding:5px; } .next.z-button .z-button-tl, .next.z-button .z-button-tr, .next.z-button .z-button-bl, .next.z-button .z-button-br, .next.z-button .z-button-tm, .next.z-button .z-button-bm, .next.z-button .z-button-cl, .next.z-button .z-button-cr { background-image:none; } .next.z-button .z-button-cm { background-image:none; padding:13px; padding-right:600px; border:none; font-size:2em; color:#cfc19a; text-shadow:-1px 1px 1px #e7dec6, -1px -.5px 2px #877032; } .next:hover.z-button .z-button-cm { background-image:none; background-color:#f4f4f4; padding:13px; padding-right:600px; outline:1px solid #bbb; font-size:2em; color:#877032; text-shadow:-1px 1px 1px #e7dec6, -1px -.5px 2px #877032; } .orderableButton.z-button .z-button-tl, .orderableButton.z-button .z-button-tr, .orderableButton.z-button .z-button-bl, .orderableButton.z-button .z-button-br, .orderableButton.z-button .z-button-tm, .orderableButton.z-button .z-button-bm, .orderableButton.z-button .z-button-cl, .orderableButton.z-button .z-button-cr { background-image:none; } .orderableButton.z-button .z-button-cm { background-image:none; padding:13px; border:none; font-size:1.5em; color:#6e8490; } .save.z-button .z-button-tl, .save.z-button .z-button-tr, .save.z-button .z-button-bl, .save.z-button .z-button-br, .save.z-button .z-button-tm, .save.z-button .z-button-bm, .save.z-button .z-button-cl, .save.z-button .z-button-cr { background-image:none; } .save.z-button .z-button-cm { font-size:1.5em; width:100%; height:40px; color:#bbb; border-radius:5px; background: -webkit-gradient(linear, 0% 0%, 0% 84%, from(#eee), to(#ccc)); } .cancel.z-button .z-button-tl, .cancel.z-button .z-button-tr, .cancel.z-button .z-button-bl, .cancel.z-button .z-button-br, .cancel.z-button .z-button-tm, .cancel.z-button .z-button-bm, .cancel.z-button .z-button-cl, .cancel.z-button .z-button-cr { background-image:none; } .cancel.z-button .z-button-cm { font-size:1.5em; width:100%; height:40px; color:#eee; border-radius:5px; background: -webkit-gradient(linear, 0% 0%, 0% 84%, from(#FF7373), to(#BF3030)); } .channelLink { font-size:1.2em; text-decoration:none; color:#7a8c96; padding-right:10px; padding-left:8px; font-family:‘Lucida Console’, Monaco, monospace; } .channelLink:hover { font-size:1.2em; text-decoration:underline; color:#7a8c96; padding-right:10px; padding-left:8px; } .channelLinkSelected { font-size:1.2em; text-decoration:underline; color:#bbb; padding-right:10px; padding-left:8px; } .channelTab { border-bottom:1px solid #bbb; background-color:transparent; height:24px; width:145px; margin-left:4px; padding-top:4px; } .channelTab:hover { border-bottom:1px solid #bbb; background-color:#eee; height:24px; width:145px; margin-left:4px; padding-top:4px; } .channelTabSelected { border-bottom:1px solid #bbb; background-color:#eee; height:24px; width:145px; margin-left:4px; padding-top:4px; position:relative; z-index:100; } .options { background-color:#fff; padding:10px; width:600px; height:200px; } </style> <div style=""> <hlayout> <tabbox id="tb" hflex="1" mold="accordion"> <tabs id="tabs"> <tab id="tab1" label="For..." /> <tab id="tab2" label="If..." disabled="false"/> <tab id="tab3" label="...then..." disabled="true"/> </tabs> <tabpanels> <!--For tab--> <tabpanel sclass="all"> <div style="margin-left:-6px; margin-right:-7px; margin-bottom:-5px; padding-left:10px; padding-bottom:10px; padding-right:10px; box-shadow:0px 2px 4px #bbb;"> <hlayout style="margin-left:26px; padding-left:5px;"> <vlayout> <label value="Choose a channel..." style="font-family:trebuchet MS; font-size:1.1em; font-style:italic; color:#999;"/> <vlayout> <hlayout> <div sclass="channelTab" id="patientTab"> <a label="Patient" sclass="channelLink" id="patientLink" w:onClick="show('patientOptions'), this.$f('patientTab').setSclass('channelTabSelected'), this.$f('orderTab').setSclass('channelTab')"/> <a label="edit" visible="false" id="patientEditLink" style="font-size:.7em; color:black" onClick='tab2.label="If..."' w:onClick="show('patientOptions'), hide('patientEditLink')"/> </div> </hlayout> <hlayout> <div sclass="channelTab"> <a label="User" sclass="channelLink" id=""/> </div> </hlayout> </vlayout> </vlayout> <div sclass="options" style="margin-top:20px;"> <vlayout> <!--Patient Options//--> <vlayout id="patientOptions" visible="false" style="margin-left:5px; padding-top:2px; padding-left:5px;"> <hlayout id="patientWonderbar" style="border-bottom:1px solid #bbb; padding-bottom:6px;"> <label value="Other choices" style="font-size:1em; color:#999"/> <combobox value="Pick from the list or keep typing..." width="270px" mold="rounded" w:onChange="show('creatinineLevel')" onSelect="creatinineCheck.checked=true"> <comboitem label="Creatinine level"/> <comboitem label="Weight"/> </combobox> </hlayout> <!--Other options selected//--> <hlayout id="creatinineLevel" style="padding-left:10px; padding-top:6px;" visible="false"> <checkbox label="Creatinine level" id="creatinineCheck" onCheck="tab3.disabled=false; next2.disabled=false"/> <listbox mold="select"> <listitem label="&gt;" selected="true"/> <listitem label="&lt;"/> <listitem label="&gt;="/> <listitem label="&lt;="/> <listitem label="="/> </listbox> <textbox width="50px" onClick="creatinineCheck.checked=true; tab3.disabled=false; next2.disabled=false"/> </hlayout> <!--Default options--> <hlayout style="padding-left:10px; padding-top:6px;"> <checkbox label="Age" id="ageCheck" onCheck="tab3.disabled=false; next2.disabled=false"/> <listbox mold="select" onSelect="ageCheck.checked=true;"> <listitem label="&gt;"/> <listitem label="&lt;"/> <listitem label="&gt;="/> <listitem label="&lt;="/> <listitem label="="/> </listbox> <textbox width="50px" onClick="ageCheck.checked=true; tab3.disabled=false; next2.disabled=false"/> </hlayout> <hlayout style="padding-left:10px; padding-top:6px;"> <checkbox label="Problem" id="problemCheck" onCheck="tab3.disabled=false; next2.disabled=false"/> <combobox mold="rounded" onSelect="problemCheck.checked=true;"> <comboitem label="Depression"/> <comboitem label="Diabetes mellitus"/> <comboitem label="Gout"/> </combobox> </hlayout> <hlayout style="padding-left:10px; padding-top:6px;"> <checkbox label="Race" id="raceCheck" onClick="tab3.disabled=false; next2.disabled=false"/> <listbox mold="select" onSelect="raceCheck.checked=true; tab3.disabled=false; next2.disabled=false"> <listitem label="African American"/> <listitem label="Asian"/> <listitem label="Hispanic"/> <listitem label="White (non-Hispanic)"/> </listbox> </hlayout> <hlayout style="margin-top:8px;"> <image src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQFneTPHxkUiMGEBV4rnYZVYEHUyQMciz-97YhV_tj_H3vmxIvUhw"/> <label value="Add to favorite parameters" style="font-size:.9em; color:#999;"/> </hlayout> <button label="Add another trigger channel" style="font-size:.9em; margin-top:4px;" onClick='tab1.label="For patients whose age > 60,"' w:onClick="show('patientEditLink'), hide('patientOptions')"/> </vlayout> </vlayout> </div> </hlayout> <button class="next" id="next1" onClick='tab2.selected=true; tab1.label="For patients whose age > 60,"' label="Next" disabled="true" style="margin-top:5px; margin-left:-4px;"/> </div> </tabpanel> <tabpanel sclass="all"> <div style="margin-left:-6px; margin-right:-7px; margin-bottom:-5px; padding-left:10px; padding-bottom:10px; padding-right:10px; box-shadow:0px 3px 6px #bbb;"> <hlayout style="margin-left:26px; padding-left:5px; overflow-y:auto; overflow-x:hidden;"> <vlayout> <label value="Choose a trigger channel..." style="font-family:trebuchet MS; font-size:1.1em; font-style:italic; color:#999;"/> <vlayout id="triggerTypes"> <hlayout> <div sclass="channelTab" id="orderTab"> <a label="Order" sclass="channelLink" id="orderLink" w:onClick="show('wonderbar'), this.$f('orderTab').setSclass('channelTabSelected'), this.$f('patientTab').setSclass('channelTab')"/> <a label="edit" visible="false" id="orderEditLink" style="font-size:.7em; color:black" onClick='tab2.label="If..."' w:onClick="show('lisinoprilOptions'), hide('orderEditLink')"/> </div> </hlayout> <hlayout> <div sclass="channelTab"> <a label="Chart" sclass="channelLink" id="chartLink"/> </div> </hlayout> <hlayout> <div sclass="channelTab"> <a label="Alert" sclass="channelLink" id="alertLink"/> </div> </hlayout> <hlayout> <div sclass="channelTab"> <a label="Allergy" sclass="channelLink" id="allergyLink"/> </div> </hlayout> <hlayout> <div sclass="channelTab"> <a label="Diagnosis" sclass="channelLink" id="diagnosisLink"/> </div> </hlayout> </vlayout> </vlayout> <div sclass="options" style="margin-top:20px; margin-left:-55px;"> <vlayout> <!--wonderbar//--> <hlayout id="wonderbar" visible="false"> <combobox value="All" mold="rounded" width="100px"/> <combobox value=" Pick from the list or keep typing..." width="350px" mold="rounded" style="margin-left:-7px;" w:onChange="show('lisinoprilOptions'), hide('wonderbar')"> <comboitem label=" Lisinopril"/> <comboitem label=" Lisinopril 5mg"/> </combobox> <div style="width:10px; height:22px; margin-left:-356px; margin-top:0px; background-color:#fbfbfb; border-top:1px solid #bbb; border-bottom:1px solid #bbb;"> <div style="width:5px; height:22px; border-right:1px solid #bbb; box-shadow:1px 0 2px #bbb;"></div> </div> </hlayout> <!--Lisinopril Options//--> <div id="lisinoprilOptions" visible="false"> <button label="Lisinopril" id="lisinoprilBtn" sclass="orderableButton" image="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQ4CUL3XtDdNSLY9A18nxrzcLj8Fr9Rl8-u6qo-1ppwo5Bl5iiTYg" hoverImage="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQFTetwYtnMgWit35GZOX3xTsBHOqRI2uxw8qxXp0YVuQloBTfy" dir="reverse" style="margin-left:-10px; margin-top:-19px;" w:onClick="show('wonderbar'), hide('lisinoprilOptions')"/> <button label="is ordered" id="isOrderedChosen" sclass="orderableButton" visible="false" image="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQ4CUL3XtDdNSLY9A18nxrzcLj8Fr9Rl8-u6qo-1ppwo5Bl5iiTYg" hoverImage="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQFTetwYtnMgWit35GZOX3xTsBHOqRI2uxw8qxXp0YVuQloBTfy" dir="reverse" style="margin-left:-10px; margin-top:-19px;" w:onClick="show('isOrdered'), show('isDiscontinued'), show('chooseLabel'), hide('isOrderedChosen')"/> <hlayout style="margin-left:15px; margin-top:-8px;"> <label id="chooseLabel" value="Choose..." style="font-family:trebuchet MS; font-size:1.1em; font-style:italic; padding-right:10px; color:#999;"/> <vlayout style="margin-top:2px;"> <a id="isOrdered" label="is ordered" sclass="channelLink" visible="true" onClick="isDiscontinued.visible=false; isOrdered.visible=false; isOrderedChosen.visible=true; chooseLabel.visible=false; tab3.disabled=false; next2.disabled=false"/> <a id="isDiscontinued" label="is discontinued" sclass="channelLink" visible="true"/> </vlayout> </hlayout> <hlayout style="margin-top:30px;"> <image src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQFneTPHxkUiMGEBV4rnYZVYEHUyQMciz-97YhV_tj_H3vmxIvUhw"/> <label value="Add to favorite parameters" style="font-size:.9em; color:#999;"/> </hlayout> <button label="Add another trigger channel" style="font-size:.9em; margin-top:7px;" w:onClick="show('orderEditLink'), hide('lisinoprilOptions'), this.$f('orderTab').setSclass('channelTab')"/> </div> <!--Patient Options <vlayout id="patientOptions" visible="false" style="margin-left:5px; padding-top:2px; padding-left:5px;"> <hlayout id="patientWonderbar" style="border-bottom:1px solid #bbb; padding-bottom:6px;"> <label value="Other choices" style="font-size:1em; color:#999"/> <combobox value="Pick from the list or keep typing..." width="270px" mold="rounded" w:onChange="show('creatinineLevel')" onSelect="creatinineCheck.checked=true"> <comboitem label="Creatinine level"/> <comboitem label="Weight"/> </combobox> </hlayout> Other options selected <hlayout id="creatinineLevel" style="padding-left:10px; padding-top:6px;" visible="false"> <checkbox label="Creatinine level" id="creatinineCheck" onCheck="tab3.disabled=false; next2.disabled=false"/> <listbox mold="select"> <listitem label="&gt;" selected="true"/> <listitem label="&lt;"/> <listitem label="&gt;="/> <listitem label="&lt;="/> <listitem label="="/> </listbox> <textbox width="50px" onClick="creatinineCheck.checked=true; tab3.disabled=false; next2.disabled=false"/> </hlayout> Default options <hlayout style="padding-left:10px; padding-top:6px;"> <checkbox label="Age" id="ageCheck" onCheck="tab3.disabled=false; next2.disabled=false"/> <listbox mold="select" onSelect="ageCheck.checked=true;"> <listitem label="&gt;"/> <listitem label="&lt;"/> <listitem label="&gt;="/> <listitem label="&lt;="/> <listitem label="="/> </listbox> <textbox width="50px" onClick="ageCheck.checked=true; tab3.disabled=false; next2.disabled=false"/> </hlayout> <hlayout style="padding-left:10px; padding-top:6px;"> <checkbox label="Problem" id="problemCheck" onCheck="tab3.disabled=false; next2.disabled=false"/> <combobox mold="rounded" onSelect="problemCheck.checked=true;"> <comboitem label="Depression"/> <comboitem label="Diabetes mellitus"/> <comboitem label="Gout"/> </combobox> </hlayout> <hlayout style="padding-left:10px; padding-top:6px;"> <checkbox label="Race" id="raceCheck" onClick="tab3.disabled=false; next2.disabled=false"/> <listbox mold="select" onSelect="raceCheck.checked=true; tab3.disabled=false; next2.disabled=false"> <listitem label="African American"/> <listitem label="Asian"/> <listitem label="Hispanic"/> <listitem label="White (non-Hispanic)"/> </listbox> </hlayout> <hlayout style="margin-top:8px;"> <image src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQFneTPHxkUiMGEBV4rnYZVYEHUyQMciz-97YhV_tj_H3vmxIvUhw"/> <label value="Add to favorite parameters" style="font-size:.9em; color:#999;"/> </hlayout> <button label="Add another trigger channel" style="font-size:.9em; margin-top:4px;" onClick='tab2.label="If PATIENT age > 60 and problem is Diabetes Mellitus,"' w:onClick="show('patientEditLink'), hide('patientOptions')"/> </vlayout>//--> </vlayout> </div> </hlayout> <button class="next" id="next2" onClick='tab3.selected=true; tab2.label="If PATIENT age > 60 and problem is Diabetes Mellitus &amp; ORDER Lisinopril is ordered,"' label="Next" disabled="true" style="margin-left:-4px;"/> </div> </tabpanel> <tabpanel sclass="last"> <div style="margin-left:-6px; margin-right:-5px; margin-bottom:-5px; padding-left:10px; padding-bottom:10px; padding-right:10px; box-shadow:0px 3px 6px #bbb;"> This is panel 2 The second panel </div> </tabpanel> </tabpanels> </tabbox> <vlayout style="margin-left:5px; margin-right:5px;"> <div style="border-bottom:1px solid #bbb; width:240px;"> <label value="Favorite Parameters" style="font-size:1em; font-family: ‘Lucida Console’, Monaco, monospace;"/> </div> <hlayout> <image src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSOSW_v9__BjuJy8h_sjLLyI8O8Otgc0yENWlLjRIZAH1-Cj-nEJA"/> <a label="Cardiologists" style="color:black; font-size:.9em;"/> </hlayout> </vlayout> </hlayout> </div> <button label="Save" sclass="save"/> <button label="Cancel" sclass="cancel"/> </zk> TestComposer.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 TestComposer extends GenericForwardComposer{ public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); } public void onClick$btn(Event e) throws InterruptedException{ Messagebox.show("Hi btn"); } }