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 AMlinkfilter a list in MVVM
12guest188.66.80.1882nk3kipSep 23, 2015 12:55:40 PMlinkresources
index.zulzul<zk>
<window border="normal" title="search"
apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('pkg$.ListSearchViewModel')">
<bandbox id="srcJobs" autodrop="true" width="200px" mold="rounded"
disabled="false" value="Job Name Search" instant="true" onChanging="@command('filterJobs', filterValue=event.value)"/>
<listbox id="jobsGrid" model="@load(vm.jobsListModel)" height="450px"
sizedByContent="true" sclass="z-word-wrap" multiple="true"
width="1090px" />
</window>
</zk>ListSearchViewModel.javajavaimport java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.zkoss.bind.annotation.BindingParam;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.Init;
import org.zkoss.zul.ListModelSet;
import org.zkoss.zul.ListModelList;
public class ListSearchViewModel {
private Set<String> viewedJobsSet = new HashSet<String>(
Arrays.asList("manager", "teacher", "police officer",
"fire fighter", "governor", "programmer",
"designer", "house keeper", "physicist",
"fire fighter1","fire1 fighte1r","fire fight1er","fire figh1ter","fire fig1hter","fire fi1ghter","fire fighter11",
"fire fighter2","fire2 fighte2r","fire fight2er","fire figh2ter","fire fig2hter","fire fi2ghter","fire fighter12",
"fire fighter3","fire3 fighte4r","fire fight9er","fire figh3ter","fire fig3hter","fire fi3ghter","fire fighter13",
"fire fighter4","fire4 fighte3r","fire fight3er","fire figh4ter","fire fig4hter","fire fi4ghter","fire fighter14",
"fire fighter5","fire5 fighte5r","fire fight4er","fire figh5ter","fire fig5hter","fire fi5ghter","fire fighter15",
"fire fighter6","fire6 fighte6r","fire fight5er","fire figh6ter","fire fig6hter","fire fi6ghter","fire fighter16",
"fire fighter7","fire7 fighte7r","fire fight6er","fire figh7ter","fire fig7hter","fire fi7ghter","fire fighter17",
"fire fighter8","fire8 fighte8r","fire fight7er","fire figh8ter","fire fig8hter","fire fi8ghter","fire fighter18",
"fire fighter9","fire9 fighte9r","fire fight8er","fire figh9ter","fire fig9hter","fire fi9ghter","fire fighter19"));
private ListModelList<String> jobsListModel;
@Init
public void init() {
//initialize the model
jobsListModel = new ListModelList<String>(viewedJobsSet);
}
@Command("filterJobs")
public void onFilterJobs(@BindingParam("filterValue") String filterValue) {
if(filterValue != null && !filterValue.isEmpty()) {
jobsListModel.clear();
//replace with your logic to filter the list
for (String job : viewedJobsSet) {
if(job.contains(filterValue)) {
jobsListModel.add(job);
org.zkoss.lang.Threads.sleep(100);
}
}
} else {
jobsListModel.clear();
jobsListModel.addAll(viewedJobsSet);
}
}
public ListModelList<String> getJobsListModel() {
return jobsListModel;
}
}