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

e-mail validation

16guest203.193.148.993h0tsaeMay 15, 2018 6:49:20 AMlink

resources

index.zulzul<zk> <<borderlayout height="100%"> <north title="${c:l('EnergyData')}" id="Paramid" splittable="true" collapsible="true"> <grid id="grid" > <rows> <row> <cell align="center" colspan="4"> <hlayout> <textbox name="command" id="command" value="FEP_COMMUNICATIONERRORS" visible="false" /> <label value="${c:l('FromDate')}" id="daily_from_label" visible="true" style="padding-left:0px"/> <datebox id="daily_from_txt" name="daily_from_txt" width="100px" format="dd-MMM-yyyy" constraint="after 18000101 ,no empty, no future" visible="true" onCreate="self.value = new Date()" readonly="true"/> <label value="${c:l('ToDate')}" id="daily_to_label" visible="true" style="padding-left:0px"/> <datebox id="daily_to_txt" name="daily_to_txt" width="100px" format="dd-MMM-yyyy" constraint="after 18000101 ,no empty, no future" visible="true" onCreate="self.value = new Date()" readonly="true"/> </hlayout> </cell> </row> <row> <cell align="right" colspan="2"> <hlayout> <groupbox> <caption label="${c:l('DType')}" /> <radiogroup id="dtype" name="dtype"> <radio name='dtype' label="${c:l('FepEnergyData.FromOrigin')}" value='origin' selected="true"/> <radio name='dtype' label="${c:l('FepEnergyData.FromReset')}" value='reset' visible="${visible}"/> <!-- <radio name='dtype' label="${c:l('FepEnergyData.FromPhase')}" value='phase' visible="${visible}"/> --> </radiogroup> </groupbox> </hlayout> </cell> <cell align="left" colspan="2"> <hlayout> <groupbox closable="false" > <caption label="${c:l('ReportFormatLabel')}" /> <radiogroup id="format" name="format"> <radio name='outputType' value='HTML' /> <label value="${c:l('HTML')}" /> <radio name='outputType' value='PDF' selected="true"/> <label value="${c:l('PDF')}" /> <radio name='outputType' value='XLS' /><label value="${c:l('XLS')}" /> <radio name='outputType' value='RTF' /><label value="${c:l('RTF')}" /> <radio name='outputType' value='CSV' /> <label value="${c:l('CSV')}" /> </radiogroup> </groupbox> </hlayout> </cell> </row> <row> <cell align="center" colspan="4"> <hlayout> <button type="button" id="submit" label="${c:l('Submit')}" mold="trendy" onClick="submitFrm()"/> </hlayout> </cell> </row> </rows> </grid> </north> <center> <div height="100%" id="iframediv"> <x:div id="loading" align="center" style="display:none;padding-top:5%;"> <x:div class='loading-indicator'><image src='/../styles/fep/images/loading_icon.gif' width='150px' height='100px'/> <x:span id='loading-msg'> <x:br/> <label value="${c:l('GenReportMessage')}" style="font-weight:bold;color:#e53f27;font-size:20px"/> <x:br/><label value="${c:l('PlzWaitMessage')}" style="font-weight:bold;color:#e53f27;font-size:20px"/></x:span> </x:div> </x:div> <x:div id="dwnldDiv" align="center" style="display:none;padding-top:12%;"> <x:div class='loading-indicator'> <image src='/../styles/fep/images/loading-icon.gif' width='100px' height='100px'/> <x:br/> <label value="${c:l('ReportGenMessage')}" style="font-weight:bold;color:#e53f27;font-size:20px"/> </x:div> </x:div> <x:iframe id="DataIframe" name="DataIframe" src="" width="100%" height="100%" xmlns:ca="client/attribute" onload="loading.style.display='none';document.getElementById('DataIframe').style.display='block';" border="0" frameborder="0"></x:iframe> </div> </center> </borderlayout> </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 java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.sql.DataSource; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRExporterParameter; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.engine.export.JRCsvExporter; import net.sf.jasperreports.engine.export.JRHtmlExporter; import net.sf.jasperreports.engine.export.JRHtmlExporterParameter; import net.sf.jasperreports.engine.export.JRPdfExporter; import net.sf.jasperreports.engine.export.JRRtfExporter; import net.sf.jasperreports.engine.export.JRXlsExporter; import net.sf.jasperreports.engine.export.JRXlsExporterParameter; import net.sf.jasperreports.engine.export.oasis.JROdsExporter; import net.sf.jasperreports.engine.export.oasis.JROdtExporter; import net.sf.jasperreports.engine.export.ooxml.JRDocxExporter; import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter; import net.sf.jasperreports.engine.fill.AsynchronousFillHandle; import net.sf.jasperreports.engine.xml.JRXmlLoader; import net.sf.jasperreports.j2ee.servlets.ImageServlet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.zkoss.spring.SpringUtil; import org.zkoss.zk.ui.Sessions; import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.Div; import org.zkoss.zul.Filedownload; public class TestComposer extends GenericForwardComposer{ @Controller @RequestMapping("/JRReportDownload.htm") public class JRReportDownload { /** * Wiring up the database dataSource just used to get the connection to database * */ @Autowired private DataSource dataSource; /** * Holds reportType(Formats) like pdf or html or csv ...etc * */ public String ReportType=null; /** * Holds Database connection * */ public Connection conn; /** * Holds report file Path * */ public String reportFile; /** * Holds report Logo image path * */ public String imagePath; public String user_id; Div loading,dwnldDiv; /** * Invokes when onLoad of the this page just used to display the report * */ @SuppressWarnings({ "unchecked", "deprecation", "rawtypes" }) @RequestMapping( method=RequestMethod.GET) public void getReport(Model model,HttpSession session,HttpServletRequest request,HttpServletResponse response) throws ParseException { ReportType = request.getParameter("Format"); imagePath=request.getRealPath("/").substring(0, request.getRealPath("/").length()-9)+"styles_war/fep/images/report_header.png"; /*public void getReport(Model model,HttpSession session,HttpServletRequest request,HttpServletResponse response) throws ParseException { */ SimpleDateFormat dateFormat = new SimpleDateFormat("ddMMyyyy"); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); String frmdate = dateFormat.format(cal.getTime()); // String webpath = Sessions.getCurrent().getWebApp().getRealPath("/temp/"+frmdate+""); String webpath = request.getRealPath("/temp/"+frmdate+""); File directory = new File(webpath); if(directory.exists()) try { org.apache.commons.io.FileUtils.deleteDirectory(directory); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try{ ByteArrayOutputStream baos = new ByteArrayOutputStream(); HashMap parameters=new HashMap(); String ReportType=null; Connection conn; String reportFile; //String imagePath; String user_id; ReportType = request.getParameter("Format"); if(request.getParameter("Type").equals("All")){ parameters.put("fromdate",request.getParameter("FromDate")); parameters.put("todate",request.getParameter("ToDate")); parameters.put("userId",request.getParameter("UserId")); //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); } if(request.getParameter("Type").equals("AllData")){ //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("SUBREPORT_DIR",request.getSession().getServletContext().getRealPath("/")+"uhes_war\\WEB-INF\\reports\\"); parameters.put("imagepath",request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"); parameters.put("meterid",request.getParameter("MeterNumber")); } if(request.getParameter("Type").equals("Meters")){ parameters.put("fromdate",request.getParameter("FromDate")); //System.out.println(":::::FromDate::::::"+request.getParameter("FromDate")); parameters.put("todate",request.getParameter("ToDate")); //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); parameters.put("meterno",request.getParameter("MeterNumber")); parameters.put("meterid",request.getParameter("MeterId")); //System.out.println("::::MeterId::::::"+imagePath); } if(request.getParameter("Type").equals("Device")){ parameters.put("fromdate",request.getParameter("FromDate")); parameters.put("todate",request.getParameter("ToDate")); //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); parameters.put("gateway",request.getParameter("Device")); } if(request.getParameter("Type").equals("Gateway")){ parameters.put("fromdate",request.getParameter("FromDate")); parameters.put("todate",request.getParameter("ToDate")); //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); parameters.put("gateway",request.getParameter("Gateway")); } if(request.getParameter("Type").equals("DCU")){ parameters.put("fromdate",request.getParameter("FromDate")); parameters.put("todate",request.getParameter("ToDate")); //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); parameters.put("dcu",request.getParameter("DCU")); } if(request.getParameter("Type").equals("Sim")){ //System.out.println("::::::::user_id:::::::user_id::::::::::"+request.getParameter("userId")); user_id=request.getParameter("userId"); //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); parameters.put("user_id", user_id); } if(request.getParameter("Type").equals("Office")){ parameters.put("officeId",request.getParameter("OfficeId")); parameters.put("officeCode",request.getParameter("OfficeCode")); parameters.put("whrClause", request.getParameter("whrClause")); System.out.println("whrClause:::::::"+request.getParameter("whrClause")); ////System.out.println("OfficeCode:::::::::::::"+request.getParameter("OfficeCode")); //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); } if(request.getParameter("Type").equals("Transaction")){ parameters.put("fromdate",request.getParameter("FromDate")); parameters.put("todate",request.getParameter("ToDate")); parameters.put("userid",request.getParameter("userid")); if(request.getParameter("fielddeviceno") != null) { if(request.getParameter("fielddeviceno").equalsIgnoreCase("amp;")) parameters.put("fielddeviceno","%"); else parameters.put("fielddeviceno",request.getParameter("fielddeviceno")); } /*if(request.getParameter("meterno").equalsIgnoreCase("amp;")) parameters.put("meterno","%"); else parameters.put("meterno",request.getParameter("meterno"));*/ parameters.put("communicationmode",request.getParameter("communicationmode")); imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); parameters.put("gateway",request.getParameter("fielddeviceno")); parameters.put("deviceid",request.getParameter("DeviceId")); parameters.put("meterno",request.getParameter("meterno")); parameters.put("meterid",request.getParameter("MeterId")); parameters.put("responsetype",request.getParameter("responsetype")); parameters.put("whereClause","%"+request.getParameter("WhereClause")+"%"); parameters.put("whereClause2","%"+request.getParameter("whereClause2")+"%"); parameters.put("whereClause3","%"+request.getParameter("whereClause3")+"%"); parameters.put("whereClause4","%"+request.getParameter("whereClause4")+"%"); } /*Job scheduler Report*/ if(request.getParameter("Type").equals("SchedulerJobReport")){ parameters.put("officeId",request.getParameter("OfficeId")); parameters.put("officeCode",request.getParameter("OfficeCode")); parameters.put("jobGroupName",request.getParameter("jobNameText")); parameters.put("jobName",request.getParameter("jobCommandCombo")); parameters.put("startTime",request.getParameter("FromDate")); parameters.put("endTime",request.getParameter("ToDate")); //imagePath=request.getSession().getServletContext().getRealPath("/")+"styles_war/fep/images/report_header.png"; parameters.put("imagepath",imagePath); } //System.out.println("==============================>>>>>>>>>>>>>>>>>> "+parameters.get("meterno")); //System.out.println("=============================>>>>>>>>>>>>>>>>>>>"+request.getParameter("Command")); //reportFile=Sessions.getCurrent().getWebApp().getRealPath("/")+"WEB-INF/reports/"+request.getParameter("Command")+".jrxml"; reportFile=request.getRealPath("/")+"WEB-INF/reports/"+request.getParameter("Command")+".jrxml"; JasperDesign jasperDesign = JRXmlLoader.load(reportFile); JasperReport report = JasperCompileManager.compileReport(jasperDesign); conn=dataSource.getConnection(); JasperPrint jasperPrint = JasperFillManager.fillReport(report, parameters, conn); conn.close(); /** * If the report which is in the format like XLS then everything will be display in the screen * */ if(ReportType.equals("XLS")){ //response.setContentType("application/ms-excel"); String formatDate = new SimpleDateFormat("ddMMMyyyyHHmmss").format(new Date()); String formatDatefldr = new SimpleDateFormat("").format(new Date()); //response.setHeader("Content-Disposition"," attachment; filename="+request.getParameter("Command")+"_"+formatDate+".xls"); JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, baos); exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE); exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE); exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE); exporter.exportReport(); response.setHeader("Content-Disposition"," attachment; filename="+request.getParameter("Command")+"_"+formatDate+".xls"); writeReportToResponseStream(response,baos); //Thread.sleep(5000); //Clients.evalJavaScript("window.parent.$('img').each(function() { var li = $(this).attr('src'); if(li.indexOf('loading') != -1) { $(this).attr('style','width:40px;height:40px'); $(this).attr('src',li.replace('loading-icon.gif','check.png')); } });"); Clients.evalJavaScript("window.parent.$('img').each(function() { var li = this.$f('src').$n();alert(li); if(li.indexOf('loading') != -1) { $(this).attr('style','width:40px;height:40px'); $(this).attr('src',li.replace('loading-icon.gif','check.png')); } });"); } if(ReportType.equals("CSV")){ String formatDate = new SimpleDateFormat("ddMMMyyyyHHmmss").format(new Date()); String formatDatefldr = new SimpleDateFormat("ddMMyyyy").format(new Date()); JRCsvExporter exporterCSV = new JRCsvExporter(); exporterCSV.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint); exporterCSV.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, baos); exporterCSV.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, true); exporterCSV.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, true); exporterCSV.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, true); exporterCSV.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, true); exporterCSV.exportReport(); response.setHeader("Content-Disposition"," attachment; filename="+request.getParameter("Command")+"_"+formatDate+".csv"); writeReportToResponseStream(response,baos); Thread.sleep(5000); Clients.evalJavaScript("window.parent.$('img').each(function() { var li = $(this).attr('src'); if(li.indexOf('loading') != -1) { $(this).attr('style','width:40px;height:40px'); $(this).attr('src',li.replace('loading-icon.gif','check.png')); } });"); //System.out.println("pdf:::::::::::1234:::"+file.getAbsolutePath()); } if(ReportType.equals("RTF")){ String formatDate = new SimpleDateFormat("ddMMMyyyyHHmmss").format(new Date()); String formatDatefldr = new SimpleDateFormat("ddMMyyyy").format(new Date()); JRRtfExporter exporter = new JRRtfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos); try{ exporter.exportReport(); } catch (JRException e) { throw new ServletException(e); } response.setHeader("Content-Disposition"," attachment; filename="+request.getParameter("Command")+"_"+formatDate+".rtf"); writeReportToResponseStream(response,baos); Thread.sleep(5000); Clients.evalJavaScript("window.parent.$('img').each(function() { var li = $(this).attr('src'); if(li.indexOf('loading') != -1) { $(this).attr('style','width:40px;height:40px'); $(this).attr('src',li.replace('loading-icon.gif','check.png')); } });"); //System.out.println("pdf:::::::::::1234:::"+file.getAbsolutePath()); } }catch(Exception e){ e.printStackTrace(); } //} } /** * Writing the response data to the streams to display in the page * */ private void writeReportToResponseStream(HttpServletResponse response,ByteArrayOutputStream baos) { try { ServletOutputStream outputStream = response.getOutputStream(); baos.writeTo(outputStream); outputStream.flush(); outputStream.close(); //System.out.println("PDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"); } catch (Exception e){ e.printStackTrace(); } } public DataSource getDataSource(){ return dataSource; } } } test.jsjavascriptfunction checkMail(mails){ var array = mails.split(","); var result="\n"; for(var i=0;i<array.length;i++){ var mail = array[i]; var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/); if(typeof(mail) == "string"){ if(er.test(mail)){ result+=array[i]+": valid mail\n"; }else{ result+=array[i]+": invalid mail\n"; } }else if(typeof(mail) == "object"){ if(er.test(mail.value)){ result+=array[i]+": valid mail\n"; } }else{ result+=array[i]+": invalid mail\n"; } } zk.Widget.$(jq('$lbl')[0]).setValue(result); }