-
FEATURED COMPONENTS
First time here? Check out the FAQ!
I was looking through the docs and found http://sourceforge.net/tracker/?func=detail&aid=3195870&group_id=152762&atid=785194
This led me to believe the below was possible, but it loses the sort when the data is refreshed. (Try sorting sender then hitting update data). Ideas?
package j3qsost7$v3;public class MyMail {
private String subject;private String sender;
private Integer size;
public MyMail(String subject, String sender, Integer size) {
this.subject = subject;
this.sender = sender;
this.size = size;
}public String getSubject() {
return subject;
}public void setSubject(String subject) {
this.subject = subject;
}public String getSender() {
return sender;
}public void setSender(String sender) {
this.sender = sender;
}public Integer getSize() {
return size;
}public void setSize(Integer size) {
this.size = size;
}}
package j3qsost7$v3;import 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.*;
public class MyRowRenderer implements RowRenderer {
public void render(final Row row, final java.lang.Object data) {
MyMail mail = (MyMail) data;
new Label(mail.getSubject()).setParent(row);
new Label(mail.getSender()).setParent(row);
new Label(mail.getSize().toString()).setParent(row);
}
}
package j3qsost7$v3;import 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.*;public class TestComposer extends GenericForwardComposer{
private Grid inboxGrid;
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
inboxGrid.setModel(new ListModelList(getData()));}
public void onClick$refreshBtn(Event e){
inboxGrid.setModel(new ListModelList(getUpdatedData()));
}/* simply return a small model here , you could read data from database for your own implementation.*/
private List<MyMail> getData(){
ArrayList<MyMail> list= new ArrayList<MyMail>();
list.add(new MyMail("Test Mail1","TonyQ", 10));
list.add(new MyMail("Test Mail12","Ryan", 100));
list.add(new MyMail("Test Mail13","Simon", 15));
list.add(new MyMail("Test Mail14","Jimmy", 5));
return list;
}private List<MyMail> getUpdatedData(){
ArrayList<MyMail> list= new ArrayList<MyMail>();
list.add(new MyMail("Test Mail1-updated","TonyQ", 10));
list.add(new MyMail("Test Mail12-updated","Ryan", 100));
list.add(new MyMail("Test Mail13-updated","Simon", 15));
list.add(new MyMail("Test Mail14-updated","Jimmy", 5));
return list;
}
}
<zk>
<div apply="j3qsost7$v3.TestComposer">
<grid id="inboxGrid" height="350px"
rowRenderer="j3qsost7$v3.MyRowRenderer"
emptyMessage="Nothing in Inbox.">
<columns>
<column label="Subject" />
<column width="150px" label="Received" sort="auto(sender)" />
<column width="80px" label="Size" />
</columns>
</grid>
<button label="updated data and refresh" id="refreshBtn" />
</div>
</zk>
Asked: 2011-11-30 14:26:08 +0800
Seen: 226 times
Last updated: Dec 01 '11