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

print certain portion of a page

20guest201.149.18.2501om8m4eApr 6, 2016 9:22:42 PMlink

resources

index.zulzul<zk xmlns:w="client"> <div apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('demo.reporting.jasperreport.JasperReportViewModel')"> Choose a File Type : <listbox id="format" mold="select" model="@load(vm.reportTypesModel)" selectedItem="@bind(vm.reportType)"> <template name="model"> <listitem value="@load(each)" label="@load(each.label)"></listitem> </template> </listbox> <button label="Get Report" onClick="@command('showReport')" /> <jasperreport id="report" height="360px" src="@load(vm.reportConfig.source, after='showReport')" parameters="@load(vm.reportConfig.parameters, after='showReport')" type="@load(vm.reportConfig.type.value, after='showReport')" datasource="@load(vm.reportConfig.dataSource, after='showReport')"/> </div> </zk>JasperReportViewModel.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.Arrays; import pkg$.demo.reporting.jasperreport.* import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.NotifyChange; import org.zkoss.zul.ListModelList; public class JasperReportViewModel { ReportType reportType = null; private ReportConfig reportConfig = null; private ListModelList<ReportType> reportTypesModel = new ListModelList<ReportType>( Arrays.asList( new ReportType("PDF", "pdf"), new ReportType("HTML", "html"), new ReportType("Word (RTF)", "rtf"), new ReportType("Excel", "xls"), new ReportType("Excel (JXL)", "jxl"), new ReportType("CSV", "csv"), new ReportType("OpenOffice (ODT)", "odt"))); @Command("showReport") @NotifyChange("reportConfig") public void showReport() { reportConfig = new ReportConfig(); reportConfig.setType(reportType); reportConfig.setDataSource(new CustomDataSource()); } public ListModelList<ReportType> getReportTypesModel() { return reportTypesModel; } public ReportConfig getReportConfig() { return reportConfig; } public ReportType getReportType() { return reportType; } public void setReportType(ReportType reportType) { this.reportType = reportType; } }ReportConfig.javajavaimport java.util.HashMap; import java.util.Map; import pkg$.demo.reporting.jasperreport.* import net.sf.jasperreports.engine.JRDataSource; public class ReportConfig { private String source = "/widgets/reporting/jasperreport/jasperreport.jasper"; private Map<String, Object> parameters; private JRDataSource dataSource; private ReportType type; public ReportConfig() { parameters = new HashMap<String, Object>(); parameters.put("ReportTitle", "Address Report"); parameters.put("DataFile", "CustomDataSource from java"); } public ReportType getType() { return type; } public void setType(ReportType selectedReportType) { this.type = selectedReportType; } public String getSource() { return source; } public Map<String, Object> getParameters() { return parameters; } public JRDataSource getDataSource() { return dataSource; } public void setDataSource(JRDataSource reportDataSource) { this.dataSource = reportDataSource; } }ReportType.javajavaimport pkg$.demo.reporting.jasperreport.* public class ReportType { private String value; private String label; public ReportType(String label, String value) { super(); this.value = value; this.label = label; } public String getValue() { return value; } public String getLabel() { return label; } }CustomDataSource.javajavaimport net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRField; import pkg$.demo.reporting.jasperreport.* /** * @author Teodor Danciu ([email protected]) * @version $Id: CustomDataSource.java 1229 2006-04-19 10:27:35Z teodord $ */ public class CustomDataSource implements JRDataSource { private Object[][] data = { {"Berne", Integer.valueOf(22), "Bill Ott", "250 - 20th Ave."}, {"Berne", Integer.valueOf(9), "James Schneider", "277 Seventh Av."}, {"Boston", Integer.valueOf(32), "Michael Ott", "339 College Av."}, {"Boston", Integer.valueOf(23), "Julia Heiniger", "358 College Av."}, {"Chicago", Integer.valueOf(39), "Mary Karsen", "202 College Av."}, {"Chicago", Integer.valueOf(35), "George Karsen", "412 College Av."}, {"Chicago", Integer.valueOf(11), "Julia White", "412 Upland Pl."}, {"Dallas", Integer.valueOf(47), "Janet Fuller", "445 Upland Pl."}, {"Dallas", Integer.valueOf(43), "Susanne Smith", "2 Upland Pl."}, {"Dallas", Integer.valueOf(40), "Susanne Miller", "440 - 20th Ave."}, {"Dallas", Integer.valueOf(36), "John Steel", "276 Upland Pl."}, {"Dallas", Integer.valueOf(37), "Michael Clancy", "19 Seventh Av."}, {"Dallas", Integer.valueOf(19), "Susanne Heiniger", "86 - 20th Ave."}, {"Dallas", Integer.valueOf(10), "Anne Fuller", "135 Upland Pl."}, {"Dallas", Integer.valueOf(4), "Sylvia Ringer", "365 College Av."}, {"Dallas", Integer.valueOf(0), "Laura Steel", "429 Seventh Av."}, {"Lyon", Integer.valueOf(38), "Andrew Heiniger", "347 College Av."}, {"Lyon", Integer.valueOf(28), "Susanne White", "74 - 20th Ave."}, {"Lyon", Integer.valueOf(17), "Laura Ott", "443 Seventh Av."}, {"Lyon", Integer.valueOf(2), "Anne Miller", "20 Upland Pl."}, {"New York", Integer.valueOf(46), "Andrew May", "172 Seventh Av."}, {"New York", Integer.valueOf(44), "Sylvia Ott", "361 College Av."}, {"New York", Integer.valueOf(41), "Bill King", "546 College Av."}, {"Oslo", Integer.valueOf(45), "Janet May", "396 Seventh Av."}, {"Oslo", Integer.valueOf(42), "Robert Ott", "503 Seventh Av."}, {"Paris", Integer.valueOf(25), "Sylvia Steel", "269 College Av."}, {"Paris", Integer.valueOf(18), "Sylvia Fuller", "158 - 20th Ave."}, {"Paris", Integer.valueOf(5), "Laura Miller", "294 Seventh Av."}, {"San Francisco", Integer.valueOf(48), "Robert White", "549 Seventh Av."}, {"San Francisco", Integer.valueOf(7), "James Peterson", "231 Upland Pl."} }; private int index = -1; public CustomDataSource() { } public boolean next() throws JRException { index++; return (index < data.length); } public Object getFieldValue(JRField field) throws JRException { Object value = null; String fieldName = field.getName(); if ("the_city".equals(fieldName)) { value = data[index][0]; } else if ("id".equals(fieldName)) { value = data[index][1]; } else if ("name".equals(fieldName)) { value = data[index][2]; } else if ("street".equals(fieldName)) { value = data[index][3]; } return value; } }