You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by xiao jing <vi...@gmail.com> on 2005/10/13 05:34:48 UTC
about data sorting in DataGrid
hi,guys,
i have a JavaBean User defined like:
package org.vivianj.beehive.examples;
public class User implements java.util.Comparator{
private String name;
private String password;
public void setName(String name) {this.name = name;}
public void setPassword(String password) {this.password = password;}
public String getName() { return this.name;}
public String getPassword(){ return this.password;}
public int compare(Object o1, Object o2) {
User user1 = (User)o1;
User user2 = (User)o2;
String name1 = user1.getName();
String name2 = user2.getName();
return name1.compareTo(name2);
}
public boolean equals(Object obj){
User user = (User)obj;
if(user.getName().equals(this.name)) return true;
else return false;
}
}
then i create 100 User objects.
ArrayList list = new ArrayList();
for( int i = 0;i<100;i++){
User user = new User();
user.setName("user" + (100 - i));
user.setPassword("pass" + i);
list.add(user);
}
request.setAttribute("users",list);
then i use DataGrid to show these objects like :
<netui-data:dataGrid dataSource="users" name="datausers">
<netui-data:configurePager disableDefaultPager="true"
pagerFormat="firstPrevNextLast" pageSize="20"/>
<netui-data:header>
<netui-data:headerCell value="用户名" sortExpression="name"/>
<netui-data:headerCell value="密码"/>
</netui-data:header>
<netui-data:rows>
<netui-data:spanCell value="${container.item.name}"/>
<netui-data:spanCell value="${container.item.password}"/>
</netui-data:rows>
<netui-data:footer>
<td colspan="2"><netui-data:renderPager/></td>
</netui-data:footer>
</netui-data:dataGrid>
everything is ok except that the sortExpression do not work well,some
one has good ideas?