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 :
constraint binding textbox
3guest172.68.151.16220peldaDec 5, 2025 5:08:19 PMlinkAnother new ZK fiddle
2guest172.68.151.16320peldaDec 5, 2025 5:07:51 PMlinkAnother new ZK fiddle
1guest172.68.151.16220peldaDec 5, 2025 5:07:32 PMlinkAnother new ZK fiddle
1peggypeng172.71.154.99364f4neDec 5, 2025 9:24:31 AMlinktooltip example
2guest104.22.23.13rc1ntoDec 4, 2025 2:23:45 PMlinkAnother new ZK fiddle
1guest172.69.134.2277t7602Dec 4, 2025 1:40:46 PMlinkAnother new ZK fiddle
1peggypeng104.22.17.1802df6e3oDec 4, 2025 8:41:29 AMlinkonClose
1peggypeng172.68.87.248j8kd8aDec 3, 2025 4:10:26 AMlinkAnother new ZK fiddle
1peggypeng172.69.134.2271rm7f4eNov 26, 2025 3:31:24 AMlinkZK-5912-Suggestion
2rebeccalai104.22.20.1442qrmiiuNov 26, 2025 2:07:15 AMlinkPDF Viewer in ZK using Iframe
4Hagen176.199.104.2403lmqcl8Nov 2, 2018 12:44:27 PMlinkresources
index.zulzul<zk>
<window border="normal" title="Himanshu" apply="pkg$.TestComposer">
<!--data:image/png;base64,iVBORw0KGgoAA
AANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0l
EQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6
P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC-->
<iframe id="report" height="800px" width="800px" autohide="true"></iframe>
</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.*;
import org.zkoss.util.media.AMedia;
import java.io.*;
import java.net.*;
public class TestComposer extends GenericForwardComposer{
Iframe report;
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
//src="http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/pdf_reference_archives/PDFReference16.pdf"
URL url1 =
new URL("https://www.adobe.com/content/dam/acom/en/devnet/pdf/adobe_supplement_iso32000.pdf");
String base64PDF = "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MDAgbg0KMDAwMDAwMTM3NSAwMDAwMCBuDQowMDAwMDAwMDExIDY1NTM1IGYNCjAwMDAwMDAwMTIgNjU1MzUgZg0KMDAwMDAwMDAxMyA2NTUzNSBmDQowMDAwMDAwMDE0IDY1NTM1IGYNCjAwMDAwMDAwMTUgNjU1MzUgZg0KMDAwMDAwMDAxNiA2NTUzNSBmDQowMDAwMDAwMDE3IDY1NTM1IGYNCjAwMDAwMDAwMTggNjU1MzUgZg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAyMDE2IDAwMDAwIG4NCjAwMDAwMDIyMzUgMDAwMDAgbg0KdHJhaWxlcg0KPDwvU2l6ZSAyMS9Sb290IDEgMCBSL0luZm8gOSAwIFIvSURbPENFN0UzQjNFMTZFRjY2NDJCNTI2OTQ5NDk1RjlGRUVFPjxDRTdFM0IzRTE2RUY2NjQyQjUyNjk0OTQ5NUY5RkVFRT5dID4+DQpzdGFydHhyZWYNCjI1MTQNCiUlRU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgMjEvUm9vdCAxIDAgUi9JbmZvIDkgMCBSL0lEWzxDRTdFM0IzRTE2RUY2NjQyQjUyNjk0OTQ5NUY5RkVFRT48Q0U3RTNCM0UxNkVGNjY0MkI1MjY5NDk0OTVGOUZFRUU+XSAvUHJldiAyNTE0L1hSZWZTdG0gMjIzNT4+DQpzdGFydHhyZWYNCjMwODkNCiUlRU9G";
byte[] ba1 = new byte[1024];
int baLength;
InputStream is1 = null;
ByteArrayOutputStream bios = new ByteArrayOutputStream();
Executions.sendRedirect("data:application/pdf;base64," + base64PDF);
/*try {
URLConnection urlConn = url1.openConnection();
// Checking whether the URL contains a PDF
if (!urlConn.getContentType().equalsIgnoreCase("application/pdf")) {
Messagebox.show("Not a pdf!!!");
} else {
try {
// Read the PDF from the URL and save to a local file
is1 = url1.openStream();
while ((baLength = is1.read(ba1)) != -1) {
bios.write(ba1, 0, baLength);
}
}catch(Exception e) {
} finally {
is1.close();
}
final AMedia amedia = new AMedia("adobe_supplement_iso32000.pdf", "pdf","application/pdf", bios.toByteArray());
report.setContent(amedia);
}
} catch(Exception ex) {
}*/
}
public void onClick$btn(Event e) throws InterruptedException{
Messagebox.show("Hi btn");
}
}