Suggested case list:

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

identify firefox or not in server side

1TonyQ198.203.175.1751nv2qreDec 10, 2011 4:25:04 AMlink

ZK addThis integration

1TonyQ198.203.175.1751apl96jNov 5, 2011 4:12:50 AMlink

Latest 10 Fiddles :

custom buttons in window caption 7.0.2

455guest202.6.104.23gvkalgApr 27, 2018 5:56:26 AMlink

prevent onOK send multiple times

13guest114.124.237.1252m15i3lApr 27, 2018 4:08:31 AMlink

Canvas native drawing

32guest185.186.181.201fljd43Apr 26, 2018 7:38:47 PMlink

Canvas native drawing

31guest185.186.181.201fljd43Apr 26, 2018 7:38:26 PMlink

Vertical scroll bar in Grid table

227guest115.254.63.5030n3ae0Apr 26, 2018 12:54:15 PMlink

Another new ZK fiddle

1guest190.207.164.53hgiktqApr 26, 2018 6:01:14 AMlink

Listbox checkmark/multiple true

78guest115.254.63.503e4atgvApr 26, 2018 5:43:25 AMlink

Listbox auto scroll while dragging

1guest173.14.235.1941oj2j7sApr 25, 2018 9:13:12 PMlink

Listbox auto scroll while dragging

28guest173.14.235.1941c267mkApr 25, 2018 9:13:10 PMlink

Listbox auto scroll while dragging

27guest173.14.235.1941c267mkApr 25, 2018 9:13:10 PMlink

ComboBox marcos

67guest208.51.187.190brbmflDec 7, 2017 6:11:44 PMlink

resources

index.zulzul<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="./pepe" ?> <zk> <window id="pepe" border="normal" title="hello" apply="pkg$.TestComposer"> <vbox> Auto-complete Combobox: <combobox id="combo" autodrop="true" autocomplete="false" model="@{pepe$TestComposer.listaUsuarios}" /> <!-- <hbox> <checkbox checked="true" onCheck="combo.autodrop = self.checked" label="auto drop popup when typing" /> <checkbox checked="true" onCheck="combo.buttonVisible = self.checked" label="button visible" /> </hbox> --> </vbox> </window> </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.*; import org.zkoss.zkplus.databind.AnnotateDataBinder; import java.util.*; public class TestComposer extends GenericForwardComposer{ public Combobox combo; private AnnotateDataBinder binder; private List<String> listaUsuarios; public List<String> getListaUsuarios() { return listaUsuarios; } public List<String> obtenerListaUsuarios() { String[] _dict = { "abacus", "accuracy", "acuity", "adage", "afar", "after", "apple", "bible", "bird", "bingle", "blog", "cabane", "cape", "cease", "cedar", "dacron", "defacto", "definable", "deluxe", "each", "eager", "effect", "efficacy", "far", "far from", "girl", "gigantean", "giant", "home", "honest", "huge", "information", "inner", "jump", "jungle", "jungle fever", "kaka", "kale", "kame", "lane", "lemma", "master", "maxima", "music", "nerve", "new", "number", "omega", "opera", "pea", "peace", "peaceful", "rock", "RIA", "sound", "spread", "student", "super", "tea", "teacher", "unit", "universe", "vector", "victory", "wake", "wee", "weak", "web2.0", "xeme", "yea", "yellow", "zebra", "zk", }; return new ArrayList<String>(Arrays.asList(_dict));//new SimpleListModel(_dict); } public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); //combo.setModel(obtenerDatos()); listaUsuarios = obtenerListaUsuarios(); this.binder = new AnnotateDataBinder(comp); } public void onClick$btn(Event e) throws InterruptedException{ Messagebox.show("Hi btn"); } public void onChanging$combo(InputEvent event) throws InterruptedException{ String usuario = (String) event.getValue(); Messagebox.show("-> "+usuario); if (isNotBlank(usuario) && usuario.trim().length() > 3){ listaUsuarios = obtenerListaUsuarios(); try { Thread.sleep(100); } catch (Exception e) { }; listaUsuarios.add("lamella 0"); listaUsuarios.add("lamella 1"); listaUsuarios.add("lamella 2"); listaUsuarios.add("lamella 3"); listaUsuarios.add("Sabrina Juliana 1"); listaUsuarios.add("Maria julia 2"); listaUsuarios.add("Horacio julian 3"); listaUsuarios.add("xx Julia 4"); } binder.loadComponent(combo); } public boolean isNotBlank(String valor) { return (valor!=null && !valor.isEmpty()); } }