|
Processing... Try REMOVE individual emails, you can also "Remove All" and then "Undo" it.
Description & Source Code
This demo uses a Model to control dynamic data with Grid. dynamic_data.zul
<zk> <window apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('demo.grid.dynamic_data.MailViewModel')"> <hlayout id="ctlhlayout"> <button id="revertBtn" width="115px" label="Revert Letters" onClick="@command('revertMail')" /> <button id="rmAllBtn" width="115px" label="Delete All" disabled="@load(empty vm.mailData.mails)" onClick="@command('deleteAllMail')" /> </hlayout> <separator /> Inbox mails : <label value="@load(vm.mailData.size)" /> <separator /> <grid height="350px" model="@load(vm.mailData.mails)" emptyMessage="Nothing in Inbox."> <columns> <column label="Icon" width="50px" /> <column label="Subject" /> <column label="Received" width="150px" /> <column label="Size" width="80px" /> <column label="Ctrl" width="100px" /> </columns> <template name="model"> <row> <image src="/img/Centigrade-Widget-Icons/EnvelopeOpen-16x16.png" /> <label value="@load(each.subject)" /> <label value="@load(each.date)" /> <label value="@load(each.size)" /> <button label="Delete" onClick="@command('removeMail', mail=each)" /> </row> </template> </grid> </window> </zk> MailViewModel.java
package demo.grid.dynamic_data; import org.zkoss.bind.annotation.BindingParam; import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.NotifyChange; import demo.data.InboxData; import demo.data.Mail; public class MailViewModel { InboxData mailData = new InboxData(); public InboxData getMailData() { return mailData; } @Command @NotifyChange("mailData") public void revertMail() { mailData.revertDeletedMails(); } @Command @NotifyChange("mailData") public void deleteAllMail() { mailData.deleteAllMails(); } @Command @NotifyChange("mailData") public void removeMail(@BindingParam("mail") Mail myMail) { mailData.deleteMail(myMail); } } InboxData.java
package demo.data; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class InboxData { List<Mail> mails = new ArrayList<Mail>(); public InboxData() { initData(); } private void initData() { if (!mails.isEmpty()) mails.clear(); mails.add(new Mail(1, "zk Spreadsheet RC Released Check this out", "2010/10/17 20:37:12", ((int) ((int) ((Math.random() * 128) + 1))) )); mails.add(new Mail(2, "[zk 5 - Help] RE: SelectedItemConverter Question 3", "2010/10/17 18:31:12", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(3, "[zk 5 - Help] RE: SelectedItemConverter Question 2", "2010/10/17 17:30:12", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(4, "Times_Series Chart help", "2010/10/17 15:26:37", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(5, "RE: Times_Series Chart help", "2010/10/17 14:22:37", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(6, "RE: Times_Series Chart help(Updated)", "2010/10/17 13:26:37", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(7, "[zk 5 - General] Grid Rendering problem", "2010/10/17 10:41:33", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(8, "[zk 5 - Help] RE: SelectedItemConverter Question", "2010/10/17 10:14:27", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(9, "[Personal] RE: requirement of new project", "2010/10/16 13:34:37", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(10, "[zk 3 - Feature] Client programming Question", "2010/10/15 04:31:12", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(11, "[zk 5 - Feature] Hlayout/Vlayout Usage", "2010/10/15 04:31:12", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(12, "RE: Times_Series Chart help(Updated)", "2010/10/15 03:26:37", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(13, "[zk 3 - Feature] JQuery support", "2010/10/14 04:31:12", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(14, "[zk 5 - Help] RE: Times_Series Chart help", "2010/10/14 02:43:34", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(15, "[Personal] requirement of new project", "2010/10/14 02:44:35", ((int) ((Math.random() * 128) + 1)) )); mails.add(new Mail(16, "[zk 5 - Help] RE: SelectedItemConverter Question", "2010/10/13 02:14:27", ((int) ((Math.random() * 128) + 1)) )); } public void revertDeletedMails() { initData(); } public void deleteAllMails() { mails.clear(); } public void addMails(Collection<Mail> c) { mails.addAll(c); } public List<Mail> getMails() { return mails; } public void deleteMail(Mail m) { mails.remove(m); } public int getSize(){ return mails.size(); } } Mail.java
package demo.data; public class Mail { private int index, size; private String subject, date; public Mail(int index, String subject, String date, int size) { this.index = index; this.subject = subject; this.date = date; this.size = size; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } }
Copyright © 2005-2024 Potix Corporation All rights reserved.
|
Processing... |