[richfaces-svn-commits] JBoss Rich Faces SVN: r11865 - in trunk/samples/richfaces-demo/src/main: webapp/richfaces/extendedDataTable/examples and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Dec 18 06:38:05 EST 2008


Author: ilya_shaikovsky
Date: 2008-12-18 06:38:04 -0500 (Thu, 18 Dec 2008)
New Revision: 11865

Modified:
   trunk/samples/richfaces-demo/src/main/java/org/richfaces/demo/extendedDataTable/ExtendedTableBean.java
   trunk/samples/richfaces-demo/src/main/webapp/richfaces/extendedDataTable/examples/simple.xhtml
Log:


Modified: trunk/samples/richfaces-demo/src/main/java/org/richfaces/demo/extendedDataTable/ExtendedTableBean.java
===================================================================
--- trunk/samples/richfaces-demo/src/main/java/org/richfaces/demo/extendedDataTable/ExtendedTableBean.java	2008-12-18 11:21:47 UTC (rev 11864)
+++ trunk/samples/richfaces-demo/src/main/java/org/richfaces/demo/extendedDataTable/ExtendedTableBean.java	2008-12-18 11:38:04 UTC (rev 11865)
@@ -3,14 +3,43 @@
  */
 package org.richfaces.demo.extendedDataTable;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.richfaces.component.html.HtmlExtendedDataTable;
+import org.richfaces.demo.capitals.Capital;
+import org.richfaces.model.selection.SimpleSelection;
+
 /**
  * @author Ilya Shaikovsky
- *
+ * 
  */
 public class ExtendedTableBean {
 	private String sortMode="single";
 	private String selectionMode="multi";
+	private HtmlExtendedDataTable table;
+	private SimpleSelection selection;
+	private List<Capital> selectedCapitals = new ArrayList<Capital>();
 	
+	
+	public void takeSelection() {
+		getSelectedCapitals().clear();
+		Iterator<Object> iterator = getSelection().getKeys();
+		while (iterator.hasNext()){
+			Object key = iterator.next();
+			table.setRowKey(key);
+			if (table.isRowAvailable()) {
+				getSelectedCapitals().add((Capital) table.getRowData());
+			}
+		}
+		System.out.println(getSelectedCapitals().size());
+	} 
+	
+	public void resetSelection() {
+		getSelectedCapitals().clear();
+	}
+	
 	public String getSortMode() {
 		return sortMode;
 	}
@@ -29,4 +58,29 @@
 
 	public ExtendedTableBean() {
 	}
+
+	public HtmlExtendedDataTable getTable() {
+		return table;
+	}
+
+	public void setTable(HtmlExtendedDataTable table) {
+		this.table = table;
+	}
+
+	public SimpleSelection getSelection() {
+		return selection;
+	}
+
+	public void setSelection(SimpleSelection selection) {
+		this.selection = selection;
+	}
+
+	public List<Capital> getSelectedCapitals() {
+		return selectedCapitals;
+	}
+
+	public void setSelectedCapitals(List<Capital> selectedCapitals) {
+		this.selectedCapitals = selectedCapitals;
+	}
+	
 }

Modified: trunk/samples/richfaces-demo/src/main/webapp/richfaces/extendedDataTable/examples/simple.xhtml
===================================================================
--- trunk/samples/richfaces-demo/src/main/webapp/richfaces/extendedDataTable/examples/simple.xhtml	2008-12-18 11:21:47 UTC (rev 11864)
+++ trunk/samples/richfaces-demo/src/main/webapp/richfaces/extendedDataTable/examples/simple.xhtml	2008-12-18 11:38:04 UTC (rev 11865)
@@ -1,64 +1,88 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:ui="http://java.sun.com/jsf/facelets"
-      xmlns:h="http://java.sun.com/jsf/html"
-      xmlns:f="http://java.sun.com/jsf/core"
-      xmlns:a4j="http://richfaces.org/a4j"
-      xmlns:rich="http://richfaces.org/rich">
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
 
-	<ui:composition>
-		<h:form>
+<ui:composition>
+	<h:form>
 		<h:panelGrid columns="2" columnClasses="top,top">
-		<rich:extendedDataTable value="#{capitalsBean.capitals}" var="cap" id="table" 
-			width="580px" height="400px" sortMode="#{extendedTableBean.sortMode}" 
-				selectionMode="#{extendedTableBean.selectionMode}">
-			<rich:column sortable="false" label="Flag">  
-				<f:facet name="header">
-					<h:outputText value="Flag"/>
-				</f:facet>
-				<h:graphicImage value="#{cap.stateFlag}"/>
-			</rich:column> 
-			<rich:column sortable="true" sortBy="#{cap.state}" filterBy="#{cap.state}" filterEvent="onkeyup" width="170px" label="State Name">
-				<f:facet name="header">
-					<h:outputText value="State Name"/>
-				</f:facet>
-				<h:outputText value="#{cap.state}"/>
-			</rich:column> 
-			<rich:column sortable="true" sortBy="#{cap.name}" filterBy="#{cap.name}" filterEvent="onkeyup" width="170px" label="State Capital">
-				<f:facet name="header">
-					<h:outputText value="State Capital"/>
-				</f:facet>
-				<h:outputText value="#{cap.name}"/>
-			</rich:column> 
-			<rich:column sortable="false" label="Time Zone">
-				<f:facet name="header">
-					<h:outputText value="Time Zone"/>
-				</f:facet>
-				<h:outputText value="#{cap.timeZone}"/>
-			</rich:column>
-		</rich:extendedDataTable>
-		<rich:panel>
-			<f:facet name="header">
-				<h:outputText value="Sort/Selection modes changing"/>
-			</f:facet>
-			<h:panelGrid columns="2">
-				<h:outputText value="Sort Mode:"/>
-				<h:selectOneMenu value="#{extendedTableBean.sortMode}">
-					<f:selectItem itemLabel="Single" itemValue="single"/>
-					<f:selectItem itemLabel="Multi" itemValue="multi"/>
-					<a4j:support event="onchange" ajaxSingle="true" reRender="table"/>
-				</h:selectOneMenu>
-				<h:outputText value="Selection Mode:"/>
-				<h:selectOneMenu value="#{extendedTableBean.selectionMode}">
-					<a4j:support ajaxSingle="true" event="onchange" reRender="table"/>
-					<f:selectItem itemLabel="Single" itemValue="single"/>
-					<f:selectItem itemLabel="Multi" itemValue="multi"/>
-					<f:selectItem itemLabel="None" itemValue="none"/>
-				</h:selectOneMenu>
+			<rich:extendedDataTable value="#{capitalsBean.capitals}" var="cap"
+				id="table" width="580px" height="400px"
+				sortMode="#{extendedTableBean.sortMode}"
+				selectionMode="#{extendedTableBean.selectionMode}"
+				selection="#{extendedTableBean.selection}"
+				binding="#{extendedTableBean.table}">
+				<rich:column sortable="false" label="Flag">
+					<f:facet name="header">
+						<h:outputText value="Flag" />
+					</f:facet>
+					<h:graphicImage value="#{cap.stateFlag}" />
+				</rich:column>
+				<rich:column sortable="true" sortBy="#{cap.state}"
+					filterBy="#{cap.state}" filterEvent="onkeyup" width="170px"
+					label="State Name">
+					<f:facet name="header">
+						<h:outputText value="State Name" />
+					</f:facet>
+					<h:outputText value="#{cap.state}" />
+				</rich:column>
+				<rich:column sortable="true" sortBy="#{cap.name}"
+					filterBy="#{cap.name}" filterEvent="onkeyup" width="170px"
+					label="State Capital">
+					<f:facet name="header">
+						<h:outputText value="State Capital" />
+					</f:facet>
+					<h:outputText value="#{cap.name}" />
+				</rich:column>
+				<rich:column sortable="false" label="Time Zone">
+					<f:facet name="header">
+						<h:outputText value="Time Zone" />
+					</f:facet>
+					<h:outputText value="#{cap.timeZone}" />
+				</rich:column>
+				<a4j:support event="onselectionchange" reRender="restable"
+					ajaxSingle="true" action="#{extendedTableBean.takeSelection}"></a4j:support>
+			</rich:extendedDataTable>
+			<h:panelGrid columns="1">
+				<rich:panel>
+					<f:facet name="header">
+						<h:outputText value="Sort/Selection modes changing" />
+					</f:facet>
+					<h:panelGrid columns="2">
+						<h:outputText value="Sort Mode:" />
+						<h:selectOneMenu value="#{extendedTableBean.sortMode}">
+							<f:selectItem itemLabel="Single" itemValue="single" />
+							<f:selectItem itemLabel="Multi" itemValue="multi" />
+							<a4j:support event="onchange" ajaxSingle="true" reRender="table" />
+						</h:selectOneMenu>
+						<h:outputText value="Selection Mode:" />
+						<h:selectOneMenu value="#{extendedTableBean.selectionMode}">
+							<a4j:support ajaxSingle="true" event="onchange" reRender="table" />
+							<f:selectItem itemLabel="Single" itemValue="single" />
+							<f:selectItem itemLabel="Multi" itemValue="multi" />
+							<f:selectItem itemLabel="None" itemValue="none" />
+						</h:selectOneMenu>
+					</h:panelGrid>
+				</rich:panel>
+				<rich:panel id="restable">
+					<f:facet name="header">
+						<h:outputText value="Selected rows(capital names)" />
+					</f:facet>
+					<rich:dataList value="#{extendedTableBean.selectedCapitals}"
+						var="cap" rendered="#{not empty extendedTableBean.selectedCapitals}">
+						<h:outputText value="#{cap.name}" />
+					</rich:dataList>
+					<h:outputText value="Nothing selected"
+						rendered="#{empty extendedTableBean.selectedCapitals}" />
+				</rich:panel>
 			</h:panelGrid>
-		</rich:panel>	
+
 		</h:panelGrid>
-		</h:form>
-	</ui:composition>
+	</h:form>
+	<rich:messages></rich:messages>
+</ui:composition>
 
 </html>
\ No newline at end of file




More information about the richfaces-svn-commits mailing list