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 :

Object hashcode different with ZK form binding

2YannUnil172.69.108.13540rj0kApr 19, 2024 1:18:08 PMlink

Object hashcode different with ZK form binding

1YannUnil172.69.108.13040rj0kApr 19, 2024 1:04:31 PMlink

font awesome effects

1guest172.71.166.21232nla3hApr 18, 2024 6:04:43 PMlink

font awesome effects

245guest172.71.166.21220t2jmoApr 18, 2024 6:04:41 PMlink

ZK-5696

1JamesChu162.158.187.3739iuvhmApr 18, 2024 10:33:52 AMlink

Listbox colspan header version 2

3guest172.71.183.199jkpp6qApr 17, 2024 1:54:19 PMlink

ZK-5695

1guest162.158.90.1402is2rctApr 17, 2024 10:23:20 AMlink

LocalDate in datebox

2guest172.70.243.516v49n7Apr 17, 2024 6:05:17 AMlink

LocalDate in datebox

1guest172.70.243.516v49n7Apr 17, 2024 6:04:18 AMlink

LocalDate in datebox

1guest172.70.243.511m6i0gcApr 17, 2024 6:04:04 AMlink

ZK File Upload Exmaple

1guest94.107.199.1501cg07kjAug 13, 2019 11:57:35 AMlink

resources

index.zulzul<zk> <window border="normal" title="hello" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('pkg$.FileUploadViewModel')"> <textbox width="75%" name="dosPath" tabindex="0" value="@bind(vm.dosPath)" maxlength="255" /> <button id="btnUpload" label="Upload" onUpload="@command('onFileUpload')" upload="@load(vm.uploadString)" mold="trendy" /> <div style="padding-left: 10px;padding-right: 10px;"> <listbox model="@load(vm.attachmentFileList)" visible="@load(not empty vm.attachmentFileList)" sclass="listbox"> <listhead> <listheader width="93%"></listheader> <listheader width="7%"></listheader> </listhead> <template name="model" var="var"> <listitem> <listcell style="cursor:auto"> <label tooltiptext="@load(var.fileName)" value="@load(var.fileName)" maxlength="65"> </label> </listcell> </listitem> </template> </listbox> </div> </window> </zk> FileUploadViewModel.javajava import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List; import javax.activation.MimetypesFileTypeMap; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.io.input.ReaderInputStream; import org.zkoss.bind.BindContext; import org.zkoss.bind.BindUtils; import org.zkoss.bind.annotation.AfterCompose; import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.ContextParam; import org.zkoss.bind.annotation.ContextType; import org.zkoss.util.media.Media; import org.zkoss.zhtml.Messagebox; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.UploadEvent; import org.zkoss.zk.ui.select.Selectors; import org.zkoss.zk.ui.select.annotation.Listen; public class FileUploadViewModel { private List<AttachmentFile> attachmentFileList; private String dosPath; private String uploadString; private Long maxUploadedFileSize; @AfterCompose public void afterCompose(@ContextParam(ContextType.VIEW) Component view) { Selectors.wireComponents(view, this, false); maxUploadedFileSize = 2097152L; uploadString = "true,multiple=false,maxsize=" + maxUploadedFileSize; } @Command("onFileUpload") public void onFileUpload(@ContextParam(ContextType.BIND_CONTEXT) BindContext ctx) { UploadEvent upEvent = null; Object objUploadEvent = ctx.getTriggerEvent(); upEvent = (UploadEvent) objUploadEvent; if (upEvent != null) { attachedFile(upEvent.getMedias()); } } private void attachedFile(Media[] mediaArray) { AttachmentFile attachmentFile = null; String subString = "."; SimpleDateFormat dateFormat = new SimpleDateFormat("ddMMyyyyHHmmssSSS"); Calendar cal = Calendar.getInstance(); if (mediaArray.length > 0) { for (Media media : mediaArray) { InputStream inputStream = null; InputStream inputStream1 = null; attachmentFile = new AttachmentFile(); try { inputStream = media.getStreamData(); inputStream1 = media.getStreamData(); } catch (Exception e1) { try { inputStream = new ReaderInputStream(media.getReaderData()); inputStream1 = new ReaderInputStream(media.getReaderData()); } catch (Exception e) { } } if (inputStream1 != null) { try { File tempFile = File.createTempFile("Attachment", ".blob"); FileOutputStream fos = new FileOutputStream(tempFile); IOUtils.copy(inputStream1, fos); fos.close(); attachmentFile.setUploadFileSize(new Long(tempFile.length()).intValue()); tempFile.delete(); } catch (FileNotFoundException e) { } catch (IOException e) { } finally { try { inputStream1.close(); } catch (IOException e) { } } } if (inputStream != null) { MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap(); String mediaContent = mimeTypesMap.getContentType(media.getName().toLowerCase()); String mediaFormat = FilenameUtils.getExtension(media.getName().toLowerCase()); /** * String mediaContent = media.getContentType(); String mediaFormat = media.getFormat(); **/ attachmentFile.setUploadedfile(inputStream); mimeTypesMap.getContentType(media.getName()); if (attachmentFile.getUploadFileSize() != null && attachmentFile.getUploadFileSize() > 0) { attachmentFile.setFileName(media.getName() + " (" + attachmentFile.getUploadFileSize() + ")"); } else { attachmentFile.setFileName(media.getName()); } attachmentFile.setFileFormat(mediaFormat); attachmentFile.setAttachmentFileSuffixUpload(mediaFormat); attachmentFile.setAttachmentContentTypeUpload(mediaContent); attachmentFile.setSaveFiletype(mediaFormat); attachmentFile.setBeforeExtension(media.getName().substring(0, media.getName().lastIndexOf(subString))); attachmentFile.setAfterExtension(media.getName().substring(media.getName().lastIndexOf(subString) + 1, media.getName().length())); attachmentFile.setFileNameToUpload(new File(attachmentFile.getBeforeExtension() + "." + attachmentFile.getAfterExtension())); attachmentFile.setAttachmentFileAliasUpload(attachmentFile.getBeforeExtension() + "." + attachmentFile.getAfterExtension()); // In case of N/W save Path, file name will get the timestamp if file with the same name already exists. if (attachmentFileList == null) { attachmentFileList = new ArrayList<AttachmentFile>(); } attachmentFileList.add(attachmentFile); } BindUtils.postNotifyChange(null, null, this, "attachmentFileList"); } } } @Listen("onDropFile = #btnUpload") public void onDropFile(Event evt) { if (evt.getData() != null) { Messagebox.show("Uploaedd File Size exceeded"); } } public Long getMaxUploadedFileSize() { return maxUploadedFileSize; } public void setMaxUploadedFileSize(Long maxUploadedFileSize) { this.maxUploadedFileSize = maxUploadedFileSize; } public List<AttachmentFile> getAttachmentFileList() { return attachmentFileList; } public void setAttachmentFileList(List<AttachmentFile> attachmentFileList) { this.attachmentFileList = attachmentFileList; } public String getDosPath() { return dosPath; } public void setDosPath(String dosPath) { this.dosPath = dosPath; } public String getUploadString() { return uploadString; } public void setUploadString(String uploadString) { this.uploadString = uploadString; } } AttachmentFile.javajava import java.io.File; import java.io.InputStream; import java.io.Serializable; public class AttachmentFile { private String fileName; private File fileNameWithPath; // Made inputStream transient as they are machine dependent and cannot be // shared. private transient InputStream uploadedfile; private String beforeExtension; private String afterExtension; private File fileNameToUpload; private String saveFiletype; private String attachmentContentTypeUpload; private String fileFormat; private Integer uploadFileSize; private String dosPath; private String oldDosPathUpload; private String attachmentFileAliasUpload; private String attachmentFileSuffixUpload; private String uploadName; private String tableName; private Integer tableRSN; private String fileSavePath; private String folderType; private File tempFile; private boolean focusRow; public File getTempFile() { return tempFile; } public void setTempFile(File tempFile) { this.tempFile = tempFile; } public String getFolderType() { return folderType; } public void setFolderType(String folderType) { this.folderType = folderType; } public String getFileSavePath() { return fileSavePath; } public void setFileSavePath(String fileSavePath) { this.fileSavePath = fileSavePath; } public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } public Integer getTableRSN() { return tableRSN; } public void setTableRSN(Integer tableRSN) { this.tableRSN = tableRSN; } public String getUploadName() { return uploadName; } public void setUploadName(String uploadName) { this.uploadName = uploadName; } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public File getFileNameWithPath() { return fileNameWithPath; } public void setFileNameWithPath(File fileNameWithPath) { this.fileNameWithPath = fileNameWithPath; } public InputStream getUploadedfile() { return uploadedfile; } public void setUploadedfile(InputStream uploadedfile) { this.uploadedfile = uploadedfile; } public String getBeforeExtension() { return beforeExtension; } public void setBeforeExtension(String beforeExtension) { this.beforeExtension = beforeExtension; } public String getAfterExtension() { return afterExtension; } public void setAfterExtension(String afterExtension) { this.afterExtension = afterExtension; } public File getFileNameToUpload() { return fileNameToUpload; } public void setFileNameToUpload(File fileNameToUpload) { this.fileNameToUpload = fileNameToUpload; } public String getSaveFiletype() { return saveFiletype; } public void setSaveFiletype(String saveFiletype) { this.saveFiletype = saveFiletype; } public String getAttachmentContentTypeUpload() { return attachmentContentTypeUpload; } public void setAttachmentContentTypeUpload(String attachmentContentTypeUpload) { this.attachmentContentTypeUpload = attachmentContentTypeUpload; } public String getFileFormat() { return fileFormat; } public void setFileFormat(String fileFormat) { this.fileFormat = fileFormat; } public Integer getUploadFileSize() { return uploadFileSize; } public void setUploadFileSize(Integer uploadFileSize) { this.uploadFileSize = uploadFileSize; } public String getDosPath() { return dosPath; } public void setDosPath(String dosPath) { this.dosPath = dosPath; } public String getOldDosPathUpload() { return oldDosPathUpload; } public void setOldDosPathUpload(String oldDosPathUpload) { this.oldDosPathUpload = oldDosPathUpload; } public String getAttachmentFileAliasUpload() { return attachmentFileAliasUpload; } public void setAttachmentFileAliasUpload(String attachmentFileAliasUpload) { this.attachmentFileAliasUpload = attachmentFileAliasUpload; } public String getAttachmentFileSuffixUpload() { return attachmentFileSuffixUpload; } public void setAttachmentFileSuffixUpload(String attachmentFileSuffixUpload) { this.attachmentFileSuffixUpload = attachmentFileSuffixUpload; } public boolean isFocusRow() { return focusRow; } public void setFocusRow(boolean focusRow) { this.focusRow = focusRow; } }