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 :

double click test

4guest158.48.133.12isome3Nov 16, 2018 2:24:53 PMlink

double click test

3guest158.48.133.12isome3Nov 16, 2018 2:23:33 PMlink

ZK-4109

1DevChu220.134.32.2422nqc5ujNov 16, 2018 10:22:05 AMlink

Another new ZK fiddle

1guest117.2.164.2111edb6lNov 16, 2018 9:41:53 AMlink

Another new ZK fiddle

1guest117.2.164.21137vu2u8Nov 16, 2018 9:41:23 AMlink

Listbox auto generate row number in template

52guest103.78.25.250301rq73Nov 16, 2018 7:19:57 AMlink

Another new ZK fiddle

1guest165.225.72.6419500euNov 15, 2018 4:54:42 PMlink

Set Spinner constraint

126guest212.184.107.903903m52Nov 15, 2018 10:42:13 AMlink

listbox and checkboxes

285guest49.156.52.211vilk89Nov 15, 2018 7:19:50 AMlink

NavItem

22guest203.176.138.117b9sft4Nov 15, 2018 6:43:50 AMlink

ComboBox marcos

71guest208.51.187.190brbmflDec 7, 2017 6:51:23 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 xmlns:w="http://www.zkoss.org/2005/zk/client" id="combo" autodrop="true" autocomplete="false" model="@{pepe$TestComposer.listaUsuarios}" w:onKeyPress="pepe(this)" /> <!-- <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> <n:script xmlns:n="native"> var pepe = function(msg) { var input = msg.children("input"); debugger; alert(input); } </n:script> </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{ public void onChange(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()); } }