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

Listheader Issue With Textbox-NotInHeaderWorks

1guest14.99.150.101ic5q4hJan 30, 2013 12:37:14 PMlink

resources

index.zulzul<zk> <div apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.AnimalsVM')"> <hlayout> <textbox id="animalFilter" value="@load(vm.textFilter)" onChanging="@command('nameFilterChanging',val=event.value)" /> </hlayout> <listbox id="lb" model="@load(vm.filteredAnimals)"> <listhead> <listheader> <label value="Name"/> </listheader> <listheader> <label value="e"/> </listheader> </listhead> <template name="model" var="ani"> <listitem> <listcell label="@load(ani.name)" /> <listcell label="@load(ani.h)" /> </listitem> </template> </listbox> </div> </zk>AnimalsVM.javajavaimport org.zkoss.bind.annotation.BindingParam; import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.ContextParam; import org.zkoss.bind.annotation.ContextType; import org.zkoss.bind.annotation.NotifyChange; import org.zkoss.zhtml.P; import org.zkoss.zk.ui.event.InputEvent; import java.util.ArrayList; import java.util.List; public class AnimalsVM { private List<Person> allAnimals = new ArrayList<Person>(); private List<Person> filteredAnimals = new ArrayList<Person>(); private String textFilter; @Command @NotifyChange({"filteredAnimals"}) public void nameFilterChanging(@BindingParam("val") String value, @ContextParam(ContextType.TRIGGER_EVENT) InputEvent event) { textFilter = value; filterAnimals(); } private void filterAnimals() { filteredAnimals.clear(); List<Person> copyOfAnimals = new ArrayList<Person>(allAnimals); if (textFilter != null && textFilter.trim().length() > 0) { for(Person animal: copyOfAnimals) { if (animal.getName().indexOf(textFilter) != -1) { filteredAnimals.add(animal); } } } else { filteredAnimals = copyOfAnimals; } } public List<Person> getFilteredAnimals() { if (allAnimals.size() == 0) { allAnimals.add(new Person("dog","")); allAnimals.add(new Person("cat","")); allAnimals.add(new Person("fox","")); allAnimals.add(new Person("bat","")); filteredAnimals = new ArrayList<Person>(allAnimals); } return filteredAnimals; } public void setFilteredAnimals(List<Person> filteredAnimals) { this.filteredAnimals = filteredAnimals; } public static class Person { public Person(String name,String h) { this.name = name; this.h=h; } private String name; private String h; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getH() { return h; } public void seth(String h) { this.h = h; } } public String getTextFilter() { return textFilter; } public void setTextFilter(String textFilter) { this.textFilter = textFilter; } } DatabindComposer.javajavaimport java.util.ArrayList; import java.util.Date; import java.util.List; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.util.Clients; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Label; import org.zkoss.zul.ListModelList; import org.zkoss.zul.Listbox; public class DatabindComposer extends GenericForwardComposer { private List<Person> persons; private Listbox theList; public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); List<Person> personsList = initPersonsList(); self.setAttribute("persons", personsList); } public void onClick$createJohnny(Event event){ ListModelList model = (ListModelList) theList.getModel(); model.add(new Person("enter name","enter tele","enter email")); } public void onSelect$theList(Event event) { updateWithJava(); updateWithJavascript(); } private void updateWithJava() { Label selectedName = (Label) self.getFellow("selectedNameJ"); Label selectedBirthdate = (Label) self.getFellow("selectedBirthdateJ"); Label selectedEmail=(Label) self.getFellow("selectedEmailJ"); Person selectedPerson = getSelectedPerson(); selectedName.setValue(selectedPerson.getName()); selectedBirthdate.setValue(selectedPerson.getBirthdate()); selectedEmail.setValue(selectedPerson.getEmail()); } private void updateWithJavascript() { Person selectedPerson = getSelectedPerson(); Clients.evalJavaScript("zk.Widget.$('$selectedName').setValue('" + selectedPerson.getName() + "')"); Clients.evalJavaScript("zk.Widget.$('$selectedBirthdate').setValue('" + selectedPerson.getBirthdate() + "')"); Clients.evalJavaScript("zk.Widget.$('$selectedEmail').setValue('" + selectedPerson.getEmail() + "')"); } private Person getSelectedPerson() { ListModelList listModel = (ListModelList) theList.getModel(); Person selectedPerson = (Person) listModel.getElementAt(theList .getSelectedIndex()); return selectedPerson; } private List<Person> initPersonsList() { persons = new ArrayList<Person>(); return persons; } } main.zulzul<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?> <zk> <window id="win" width="600px" height="800px" title="Databind example" apply="pkg$.DatabindComposer" xmlns:c="http://www.zkoss.org/2005/zk/client" contentStyle="overflow:auto" sizable="true" border="normal"> <listbox id="theList" model="@{persons}" selectedItem="@{selectedPerson}"> <listhead sizable="true"> <listheader label="Name" sort="auto" width="200px" /> <listheader label="tele" sort="" /> <listheader label="email id" sort="" /> <listheader width="80px"/> <listheader width="80px"/> </listhead> <listitem self="@{each=person}"> <listcell> <textbox value="@{person.name}" inplace="true" /> </listcell> <listcell> <textbox value="@{person.birthdate}" inplace="true" width="100px"/> </listcell><listcell> <textbox value="@{person.email}" inplace="true"/> </listcell> <listcell> <button label="Del"> <attribute name="onClick"><![CDATA[ index = ((Listitem)self.getParent().getParent()).getIndex(); ((ListModelList)theList.getModel()).remove(index); ]]> </attribute> </button> </listcell> <listcell> <button label="search"> <attribute name="onClick">{ final Window win = (Window) Executions.createComponents( "/index.zul", null, null); win.setMaximizable(true); win.doModal(); }</attribute> </button> </listcell> </listitem> </listbox> <button id="createJohnny" label="add contact"/> </window> </zk>Person.javajava public class Person { private String name; private String birthdate; private String email; public Person() { super(); } public Person(String name,String birthdate,String email) { this(); this.name = name; this.birthdate = birthdate; this.email=email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getBirthdate() { return birthdate; } public void setBirthdate(String birthdate) { this.birthdate = birthdate; } public String getEmail(){ return email; } public void setEmail(String email) { this.email=email; } }