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

Criterion Prototype Again

71DavidTRegenstrief134.68.31.22712rfh30May 18, 2013 12:30:52 AMlink

resources

index.zulzul<zk> <zscript><![CDATA[ List ctfs = new ArrayList(); ctfs.add("CS[O]"); ctfs.add("TC[DRUG]"); ctfs.add("R[Staff]"); List ctypes = new ArrayList(); ctypes.add("CS-Care Setting"); ctypes.add("TC-Term Class"); ctypes.add("R-Role"); ]]></zscript> <window border="normal" title="Orderable Concept Criteria Admin" apply="pkg$.TestComposer"> <borderlayout height="300px"> <west width="300px"> <listbox id="criterionTypeFilters" checkmark="true" multiple="true"> <listhead><listheader label="Filters"/></listhead> <zk forEach="${ctfs}"> <listitem label="${each}" selected="true"/> </zk> </listbox> </west> <center flex="true"> <vlayout spacing="0"> <panel width="100%"> <panelchildren> <div>Criterion Type Filter Details</div> <listbox id="criterionType" mold="select" rows="1"> <listhead><listheader label="Criterion Type"/></listhead> <zk forEach="${ctypes}"> <listitem label="${each}"/> </zk> </listbox> </panelchildren> </panel> </vlayout> </center> </borderlayout> <div apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.CriteriaViewModel')"> <grid id="targets" height="400px" model="@load(vm.criteriaModel)"> <columns menupopup="auto"> <column sort="auto(TargetCode)" label="TargetCode" width="150px"/> <column sort="auto(TargetId)" label="TargetId" hflex="1" /> <column sort="auto(CriterionType)" label="CriterionType" hflex="1" align="center"/> <column sort="auto(ValueString)" label="ValueString" hflex="1" align="center" /> <column sort="auto(ValueInt)" label="ValueInt" /> </columns> <!-- template for group --> <template name="model:group"> <group label="@load(each)" /> </template> <!-- template for each element in model --> <template name="model"> <row> <label value="@load(each.targetCode)" /> <label value="@load(each.targetId)" /> <label value="@load(each.criterionType)" /> <label value="@load(each.valueString)" /> <label value="@load(each.valueInt)" /> </row> </template> </grid> </div> <button id="btn" label="Click Me To Evalute Event Binding With Composer" /> </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.*; public class TestComposer extends GenericForwardComposer{ public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); } public void onClick$btn(Event e) throws InterruptedException{ Messagebox.show("Hi btn"); } } Criterion.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.*; public class Criterion { String targetCode; String targetId; String criterionType; String valueString; String valueInt; public Criterion(String targetCode, String targetId, String criterionType,String valueString,String valueInt) { this.targetCode=targetCode; this.targetId=targetId; this.criterionType = criterionType; this.valueString = valueString; this.valueInt = valueInt; } public String getTargetCode() { return targetCode; } public String getTargetId() { return targetId; } public String getCriterionType() { return criterionType; } public String getValueString() { return valueString; } public String getValueInt() { return valueInt; } } CriteriaData.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 java.util.*; public class CriteriaData { public static List<Criterion> criteria = new ArrayList<Criterion>(); static { criteria.add(new Criterion("1234", "1", "CS", "O", "")); criteria.add(new Criterion("1234", "1", "TC", "DRUG", "")); criteria.add(new Criterion("4321", "1", "CS", "O", "")); criteria.add(new Criterion("4321", "1", "CS", "I", "")); criteria.add(new Criterion("4321", "1", "TC", "DRUG", "")); criteria.add(new Criterion("5678", "1", "TC", "DRUG", "")); criteria.add(new Criterion("5678", "1", "CS", "O", "")); criteria.add(new Criterion("897345", "1", "TC", "DRUG", "")); criteria.add(new Criterion("897345", "1", "CS", "I", "")); criteria.add(new Criterion("897345", "1", "TC", "PROCEDURE", "")); criteria.add(new Criterion("897345", "1", "CS", "E", "")); criteria.add(new Criterion("897345", "1", "TC", "TEST", "")); } public static List<Criterion> getAllCriteria() { return new ArrayList<Criterion>(criteria); } public static Object[] getCriteriaArray() { return criteria.toArray(); } } CriteriaViewModel.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.*; public class CriteriaViewModel { private boolean showGroup = true; public CriteriaGroupingModel getCriteriaModel() { return new CriteriaGroupingModel(CriteriaData.getAllCriteria(), new CriteriaComparator(), this.showGroup); } }CriteriaComparator.javajavaimport java.io.Serializable; import java.util.Comparator; import org.zkoss.zul.GroupComparator; public class CriteriaComparator implements Comparator<Criterion>, GroupComparator<Criterion>, Serializable { private static final long serialVersionUID = 1L; public int compare(Criterion o1, Criterion o2) { return o1.getTargetCode().compareTo(o2.getTargetCode()); } public int compareGroup(Criterion o1, Criterion o2) { if ( o1 == null ) return 1; if ( o2 == null ) return 0; return o1.getTargetCode().compareTo(o2.getTargetCode()); } }CriteriaGroupingModel.javajava import java.util.Comparator; import java.util.List; import org.zkoss.zul.GroupsModelArray; public class CriteriaGroupingModel extends GroupsModelArray<Criterion, String, String, Object> { private static final long serialVersionUID = 1L; private static final String footerString = "Total %d items"; private boolean showGroup; public CriteriaGroupingModel(List<Criterion> data, Comparator<Criterion> cmpr, boolean showGroup) { super(data.toArray(new Criterion[0]), cmpr); this.showGroup = showGroup; } protected String createGroupHead(Criterion[] groupdata, int index, int col) { String ret = ""; if (groupdata.length > 0) { ret = "HI THERE!!! : " + index + " : " + col;//groupdata[0].getTargetCode(); } return ret; } protected String createGroupFoot(Criterion[] groupdata, int index, int col) { return String.format(footerString, groupdata.length); } public boolean hasGroupfoot(int groupIndex) { boolean retBool = false; if(showGroup) { retBool = super.hasGroupfoot(groupIndex); } return retBool; } }