default selection of rich:extendedDataTable
tsunglintsai Jul 15, 2011 6:49 PMI have a working datatable with selection based on example from richfaces demo.
what i want to achieve is to have all rows selected by default when table is shown. can someone give me some exapmle to do so.
thank you, following is my code.
<rich:extendedDataTable selection="#{SendEmailBean.filterOptionsUI.selection}" value="#{SendEmailBean.filterOptionsUI.dataModel}" var="item" id="userTable" height="260px" selectionMode="multi">
<rich:column sortable="true" width="50%" sortBy="#{item.email}" style="text-align: left;border:0px">
<f:facet name="header">
<h:outputText value="Email" />
</f:facet>
<h:outputText value="#{item.email}" />
</rich:column>
<rich:column sortable="true" width="50%" sortBy="#{item.name}" style="text-align: left;border:0px">
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{item.name}" />
</rich:column>
<a4j:support id="extended_table_bean_take_selection"
action="#{SendEmailBean.takeSelection}"
event="onselectionchange" />
</rich:extendedDataTable>
-- MB --
public class SendEmailBean implements Serializable{
@PostConstruct
public void init(){
this.filterOptionsUI = new FilterOptionsUI();
}
public void takeSelection() { | |
this.filterOptionsUI.selectedUsers.clear(); | |
Iterator<Object> iterator = this.filterOptionsUI.getSelection().getKeys(); | |
while (iterator.hasNext()) { | |
Object key = iterator.next(); | |
this.filterOptionsUI. selectedUsers.add( this.filterOptionsUI.getDataModel().getObjectByKey(key)); | |
} | |
} |
public static class FilterOptionsUI implements Serializable
{
private boolean emailChecked;
private boolean nameChecked;
private boolean userTypeChecked;
private boolean clientOSChecked;
private boolean clientVersionChecked;
private String email;
private String name;
private String userType;
private String clientOS;
private String clientVersionCompare;
private String clientVersion;
private SimpleSelection selection;
private List<UserInfo> userList = new ArrayList<UserInfo>();
private List<UserInfo> selectedUsers = new ArrayList<UserInfo>();
private ExtendedTableDataModel<UserInfo> dataModel;
private String okDisabled;
private String toInputString;
private String ccInputString;
private String bccInputString;
private List<SelectItem> osList;
public ExtendedTableDataModel<UserInfo> getDataModel() {
if (dataModel == null) {
dataModel = new ExtendedTableDataModel<UserInfo>(new DataProvider<UserInfo>() {
private static final long serialVersionUID = 5054087821033164847L;
public UserInfo getItemByKey(Object key) {
for (UserInfo c : userList) {
if (key.equals(getKey(c))) {
return c;
}
}
return null;
}
public List<UserInfo> getItemsByRange(int firstRow, int endRow) {
return userList.subList(firstRow, endRow);
}
public Object getKey(UserInfo item) {
return item.getEmail();
}
public int getRowCount() {
return userList.size();
}
});
}
return dataModel;
}
public void setDataModel(ExtendedTableDataModel<UserInfo> dataModel) {
this.dataModel = dataModel;
}
public FilterOptionsUI(){
this.okDisabled = "true";
this.osList = new ArrayList<SelectItem>();
}
public String getClientOS() {
return clientOS;
}
public void setClientOS(String clientOS) {
this.clientOS = clientOS;
}
public boolean isClientOSChecked() {
return clientOSChecked;
}
public void setClientOSChecked(boolean clientOSChecked) {
this.clientOSChecked = clientOSChecked;
}
public String getClientVersion() {
return clientVersion;
}
public void setClientVersion(String clientVersion) {
this.clientVersion = clientVersion;
}
public boolean isClientVersionChecked() {
return clientVersionChecked;
}
public void setClientVersionChecked(boolean clientVersionChecked) {
this.clientVersionChecked = clientVersionChecked;
}
public String getClientVersionCompare() {
return clientVersionCompare;
}
public void setClientVersionCompare(String clientVersionCompare) {
this.clientVersionCompare = clientVersionCompare;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public boolean isEmailChecked() {
return emailChecked;
}
public void setEmailChecked(boolean emailChecked) {
this.emailChecked = emailChecked;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isNameChecked() {
return nameChecked;
}
public void setNameChecked(boolean nameChecked) {
this.nameChecked = nameChecked;
}
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public boolean isUserTypeChecked() {
return userTypeChecked;
}
public void setUserTypeChecked(boolean userTypeChecked) {
this.userTypeChecked = userTypeChecked;
}
public void resetUI(){
this.emailChecked = false;
this.nameChecked = false;
this.userTypeChecked = false;
this.clientOSChecked = false;
this.clientVersionChecked = false;
this.email = null;
this.name = null;
this.userType = null;
this.clientOS = null;
this.clientVersionCompare = null;
this.clientVersion = null;
this.toInputString = null;
this.ccInputString = null;
this.bccInputString = null;
this.setOkDisabled("true");
}
@Override
public String toString() {
return "FilterOptionsUI{" + "emailChecked=" + emailChecked + ",nameChecked=" + nameChecked + ",userTypeChecked=" + userTypeChecked + ",clientOSChecked=" + clientOSChecked + ",clientVersionChecked=" + clientVersionChecked + ",email=" + email + ",name=" + name + ",userType=" + userType + ",clientOS=" + clientOS + ",clientVersionCompare=" + clientVersionCompare + ",clientVersion=" + clientVersion + '}';
}
public List<UserInfo> getUserList() {
return userList;
}
public void setUserList(List<UserInfo> userList) {
this.userList = userList;
}
public List<UserInfo> getSelectedUsers() {
return selectedUsers;
}
public void setSelectedUsers(List<UserInfo> selectedUsers) {
this.selectedUsers = selectedUsers;
}
public SimpleSelection getSelection() {
if (selection==null){
selection = new SimpleSelection();
}
return selection;
}
public void setSelection(SimpleSelection selection) {
this.selection = selection;
}
public String getOkDisabled() {
return okDisabled;
}
public void setOkDisabled(String okDisabled) {
this.okDisabled = okDisabled;
}
public String getBccInputString() {
return bccInputString;
}
public void setBccInputString(String bccInputString) {
this.bccInputString = bccInputString;
}
public String getCcInputString() {
return ccInputString;
}
public void setCcInputString(String ccInputString) {
this.ccInputString = ccInputString;
}
public String getToInputString() {
return toInputString;
}
public void setToInputString(String toInputString) {
this.toInputString = toInputString;
}
public List<SelectItem> getOsList() {
return osList;
}
public void setOsList(List<SelectItem> osList) {
this.osList = osList;
}
}