Details
-
Type: Task
-
Status: Open
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: 3.1
-
Fix Version/s: None
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Tomcat,eclipse
Description
I am trying to use the sortBy and filterBy property of ace:column but its not working below is the code
<ace:dataTable id="userTable" paginator="true"
paginatorPosition="bottom" var="userDetail"
value="#{user.userList}" rows="10" cellpadding="2"
cellspacing="2" styleClass="ui-datatable"
rowStyleClass="ui-datatable-odd,ui-datatable-even" width="100%">
<ace:column id="selectUserId" headerText="Select" style="width:5%">
<h:selectBooleanCheckbox styleClass="selectBooleanCheckbox"
id="selectedId" value="1"></h:selectBooleanCheckbox>
</ace:column>
<ace:column id="userid" headerText="User ID" style="width:10%">
<h:outputText id="userIDCell" value="#{userDetail.cubuserID}" />
</ace:column>
<ace:column id="userName" headerText=" User Name "
style="width:10%" sortBy="#{userDetail.userName}"
filterBy="#{userDetail.userName}" filterMatchMode="contains">
<h:outputText id="userNameCell" value="#{userDetail.userName}" />
</ace:column>
<ace:column id="firstName" headerText="First Name"
style="width:12%" filterBy="#{userDetail.firstName}"
filterMatchMode="contains">
<h:outputText id="firstNameCell" value="#{userDetail.firstName}" />
</ace:column>
<ace:column id="lastName" headerText="Last Name"
style="width:12%" filterBy="#{userDetail.lastName}"
filterMatchMode="contains">
<h:outputText id="lastNameCell" value="#{userDetail.lastName}" />
</ace:column>
<ace:column id="mobile" headerText="Mobile" style="width:10%"
filterBy="#{userDetail.mobile}" filterMatchMode="contains">
<h:outputText id="mobileCell" value="#{userDetail.mobile}" />
</ace:column>
</ace:table>
and java code is
package ccm.ui.user;
import javax.faces.bean.CustomScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.icefaces.ace.component.datatable.DataTable;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@ManagedBean(name = "user")
@CustomScoped(value = "#{window}")
public class User extends DataTable implements Serializable
{
protected final Log logger = LogFactory.getLog(getClass());
private String lastName;
private String email;
private String mobile;
private String userName;
private String countryCode;
private List userList;
private List filterUserName;
private String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getCountryCode() {
return countryCode;
}
public void setCountryCode(String countryCode) {
this.countryCode = countryCode;
}
public List getUserList() {
logger.debug("getUserList started");
userList=new ArrayList();
for(int i=0;i<15;i++)
{
UserVO userVO=new UserVO();
userVO.setCubuserID(new Long(i));
userVO.setUserName("test"+i);
userVO.setFirstName("Test"+i);
userVO.setLastName("Test LastName"+i);
userVO.setStatus("Active");
userVO.setUserLocked("false");
userVO.setMobile("03452220943");
userVO.setEmail("aa@g.com");
userList.add(userVO);
}
return userList;
}
public void setUserList(List userList) {
this.userList = userList;
}
public List getFilterUserName() {
return filterUserName;
}
public void setFilterUserName(List filterUserName) {
this.filterUserName = filterUserName;
}
}
Any help in this regard will be great.
This are the two files.