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 :
ComboBox - Selection with Checkboxes
25guest162.158.187.7elaaadMar 29, 2024 7:57:07 AMlinkComboBox - Selection with Checkboxes
24guest172.70.206.179elaaadMar 29, 2024 7:27:32 AMlinkcheck
244guest172.71.126.18620t2jmoMar 29, 2024 7:08:48 AMlinkfrozen scroll
1guest172.69.33.373j82a06Mar 28, 2024 8:03:44 AMlinkGmarker and forEach
1guest172.68.67.1362lpvk1hMar 28, 2024 7:29:50 AMlinkGmaps
1guest172.68.67.1363dvghg5Mar 28, 2024 7:28:20 AMlinkgrid demo
5guest172.71.158.2371grhhu3Mar 27, 2024 7:46:36 AMlinkgrid demo
4guest172.71.158.2371grhhu3Mar 27, 2024 7:46:25 AMlinkgrid demo
3guest172.71.154.181grhhu3Mar 27, 2024 7:44:16 AMlinkgrid demo
2guest172.71.154.181grhhu3Mar 27, 2024 7:43:58 AMlinkpass values to composite component in mvvm
12guest115.111.247.781m4p0cmAug 19, 2014 12:34:08 PMlinkresources
index.zulzul<?component name="myPanel" class="pkg$.PanelComposite" ?>
<zk>
<window border="normal" contentStyle="overflow:auto"
apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.TestVM')">
<myPanel name="himanshu" data="@bind(vm.data)"/>
</window>
</zk>
TestVM.javajava
import java.util.List;
import java.util.UUID;
import java.util.ArrayList;
import java.util.Comparator;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.NotifyChange;
import org.zkoss.bind.annotation.Init;
import 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 TestVM
{
private List<Objeto> data = new ArrayList<Objeto>();
private Objeto selected;
@Init
public void init()
{
for (int i = 0; i < 10; i++) {
data.add(new Objeto("Obj - tipo "+i,"Tipo "+i));
}
/** data.add(new Objeto("Obj1 - tipo 1","Tipo 1"));
data.add(new Objeto("Obj2 - tipo 2","Tipo 2"));
data.add(new Objeto("Obj3 - tipo 3","Tipo 3"));
data.add(new Objeto("Obj4 - tipo 4","Tipo 4"));
data.add(new Objeto("Obj4 - tipo 4","Tipo 4"));
data.add(new Objeto("Obj4 - tipo 4","Tipo 4"));
data.add(new Objeto("Obj4 - tipo 4","Tipo 4"));
data.add(new Objeto("Obj4 - tipo 4","Tipo 4"));
data.add(new Objeto("Obj4 - tipo 4","Tipo 4")); **/
}
@Command
@NotifyChange({"data","selected"})
public void shout()
{
Messagebox.show("list size is "+String.valueOf(data.size()));
if(this.selected != null)
{
data.remove(this.selected);
this.selected = null;
}
}
public Objeto getSelected()
{
return selected;
}
public void setSelected(Objeto ob)
{
this.selected = ob;
}
public List<Objeto> getData()
{
return data;
}
}Objeto.javajavapublic class Objeto
{
private String tipo;
private String text;
public Objeto(){}
public Objeto(String text, String tipo)
{
this.text = text;
this.tipo = tipo;
}
public void setText(String s)
{
this.text = s;
}
public void setTipo(String tipo)
{
this.tipo = tipo;
}
public String getText()
{
return text;
}
public String getTipo()
{
return tipo;
}
}PanelComposite.javajava
import java.util.HashMap;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.IdSpace;
import org.zkoss.zk.ui.ext.AfterCompose;
import org.zkoss.zul.Panel;
import org.zkoss.zk.ui.select.Selectors;
import java.util.List;
public class PanelComposite extends Panel implements IdSpace, AfterCompose {
/**
*
*/
private static final long serialVersionUID = 6469233955454148948L;
public void afterCompose() {
// TODO Auto-generated method stub
}
public void onCreate() {
// 1. Render the template
Executions.createComponents("panelComposite.zul",
this, new HashMap<String, Object>() {
private static final long serialVersionUID = 7141348964577773718L;
{
put("name", getName());
put("objecto", getObjeto());
put("data", getData());
}
});
Selectors.wireVariables(this, this, null);
Selectors.wireComponents(this, this, false);
Selectors.wireEventListeners(this, this);
}
private List<Objeto> data;
public List<Objeto> getData() {
return data;
}
public void setData(List<Objeto> data) {
this.data = data;
}
private Objeto objeto;
private String name;
public Objeto getObjeto() {
return objeto;
}
public void setObjeto(Objeto objeto) {
this.objeto = objeto;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
panelComposite.zulzul<?page title="new page title" contentType="text/html;charset=UTF-8"?>
<zk>
<caption>
<image style="float:left" />
<label style="float:left"
value="${arg.name}" />
</caption>
<panelchildren>
<panel id="tipoPanel" collapsible="true" open="false">
<caption>
<label style="float:left; margin-right:20px;"
value="Tipo:" />
<label style="float:left; margin-right:20px;"
value="${arg.objecto.tipo}" />
</caption>
<panelchildren>
<vlayout style="margin-bottom:20px;">
<hbox style="margin-top:20px;">
<button style="margin-left:20px;">
this is tipo
</button>
<a style="margin-left:20px;">What's new?</a>
</hbox>
<a style="margin-left:20px;">
go to tipo B
</a>
</vlayout>
</panelchildren>
</panel>
<panel id="desPanel" collapsible="true" open="false">
<caption>
<label style="float:left; margin-right:20px; "
value="Description:" />
<label style="float:left; margin-right:20px;"
value="${arg.objecto.text}" />
</caption>
<panelchildren>
<hbox hflex="1" style="margin-top:20px">
text here
<listbox id="box" model="${arg.data}" >
<listhead sizable="true">
<listheader label="Texto"/>
</listhead>
<template name="model">
<listitem>
<!-- <listcell label="@load(each.text)"/> -->
<listcell >
</listcell>
</listitem>
</template>
</listbox>
</hbox>
</panelchildren>
</panel>
</panelchildren>
</zk>test.zulzul<?component name="myPanel" class="pkg$.PanelComposite" ?>
<zk>
<window border="normal" contentStyle="overflow:auto"
apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.TestVM')">
<myPanel name="himanshu" />
<button id="btn" label="DELETE!! " onClick="@command('shout')" disabled="@load(empty vm.selected)" />
<button id="test" label="@load(vm.selected.text)" visible="@load(! empty vm.selected)" />
</window>
</zk>