[richfaces-svn-commits] JBoss Rich Faces SVN: r327 - in trunk/richfaces-samples/richfaces-art-datatable: src and 10 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Mon Apr 9 13:43:32 EDT 2007


Author: SergeySmirnov
Date: 2007-04-09 13:43:32 -0400 (Mon, 09 Apr 2007)
New Revision: 327

Added:
   trunk/richfaces-samples/richfaces-art-datatable/src/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReport.java
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReportRecord.java
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReportRecordItem.java
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/SalesItem.java
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/SalesReport.java
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/skin/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/skin/SkinBean.java
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/META-INF/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/META-INF/MANIFEST.MF
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/faces-config.xml
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/lib/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/web.xml
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/index.jsp
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example1.jsp
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example10.jsp
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example2.jsp
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example3.jsp
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example4.jsp
   trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/main.jsp
Log:
richfaces datatable article example appl

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReport.java
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReport.java	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReport.java	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,76 @@
+package org.rf.datatable;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class ExpenseReport {
+	private List records = null;
+
+	public List getRecords() {
+		if (records==null) {
+			initRecords();
+		}
+		return records;
+	}
+
+	public void setRecords(List records) {
+		this.records = records;
+	} 
+	
+	public double getTotalMeals() {
+		double ret = 0.0;
+		Iterator it = getRecords().iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecord record = (ExpenseReportRecord) it.next();
+			ret+=record.getTotalMeals();
+		}
+		return ret;
+	}
+	public double getTotalHotels() {
+		double ret = 0.0;
+		Iterator it = getRecords().iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecord record = (ExpenseReportRecord) it.next();
+			ret+=record.getTotalHotels();
+		}
+		return ret;
+	}
+	public double getTotalTransport() {
+		double ret = 0.0;
+		Iterator it = getRecords().iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecord record = (ExpenseReportRecord) it.next();
+			ret+=record.getTotalTransport();
+		}
+		return ret;
+	}
+	public double getGrandTotal() {
+		return getTotalMeals()+getTotalHotels()+getTotalTransport();
+	}
+	public int getRecordsCount() {
+		return getRecords().size();
+	}
+	
+	private void initRecords() {
+		records = new ArrayList();
+		ExpenseReportRecord rec;
+		rec = new ExpenseReportRecord();
+		rec.setCity("San Jose");
+		rec.getItems().add(new ExpenseReportRecordItem("25-Aug-97",37.74,112.0,45.0));
+		rec.getItems().add(new ExpenseReportRecordItem("26-Aug-97",27.28,112.0,45.0));
+		records.add(rec);
+		rec = new ExpenseReportRecord();
+		rec.setCity("Seattle");
+		rec.getItems().add(new ExpenseReportRecordItem("27-Aug-97",96.25,109.0,36.00));
+		rec.getItems().add(new ExpenseReportRecordItem("28-Aug-97",35.0,109.0,36.0));
+		records.add(rec);
+		rec = new ExpenseReportRecord();
+		rec.setCity("Las Vegas");
+		rec.getItems().add(new ExpenseReportRecordItem("29-Aug-97",215.40,80.0,32.00));
+		rec.getItems().add(new ExpenseReportRecordItem("30-Aug-97",100.50,80.0,32.0));
+		rec.getItems().add(new ExpenseReportRecordItem("31-Aug-97",180.00,80.0,32.0));
+		records.add(rec);
+	}
+	
+}

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReportRecord.java
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReportRecord.java	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReportRecord.java	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,56 @@
+package org.rf.datatable;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class ExpenseReportRecord {
+	private String city;
+	private List items = new ArrayList();
+	public String getCity() {
+		return city;
+	}
+	public void setCity(String city) {
+		this.city = city;
+	}
+	public List getItems() {
+		return this.items;
+	}
+	public void setItems(List items) {
+		this.items = items;
+	}
+	public double getTotalMeals() {
+		double ret = 0.0;
+		Iterator it = items.iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecordItem item = (ExpenseReportRecordItem) it.next();
+			ret+=item.getMeals();
+		}
+		return ret;
+	}
+	public double getTotalHotels() {
+		double ret = 0.0;
+		Iterator it = items.iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecordItem item = (ExpenseReportRecordItem) it.next();
+			ret+=item.getHotels();
+		}
+		return ret;
+	}
+	public double getTotalTransport() {
+		double ret = 0.0;
+		Iterator it = items.iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecordItem item = (ExpenseReportRecordItem) it.next();
+			ret+=item.getTransport();
+		}
+		return ret;
+	}
+	public double getTotal() {
+		return getTotalMeals() +getTotalHotels()+getTotalTransport(); 
+	}
+	
+	public int getItemsCount() {
+		return getItems().size();
+	}
+}

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReportRecordItem.java
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReportRecordItem.java	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/ExpenseReportRecordItem.java	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,42 @@
+package org.rf.datatable;
+
+public class ExpenseReportRecordItem {
+	private String day;
+	private double meals;
+	private double hotels;
+	private double transport;
+
+	public ExpenseReportRecordItem(String day, double meals, double hotels, double transport) {
+		this.day = day;
+		this.meals = meals;
+		this.hotels = hotels;
+		this.transport = transport;
+	}
+	public String getDay() {
+		return day;
+	}
+	public void setDay(String day) {
+		this.day = day;
+	}
+	public double getHotels() {
+		return hotels;
+	}
+	public void setHotels(double hotels) {
+		this.hotels = hotels;
+	}
+	public double getMeals() {
+		return meals;
+	}
+	public void setMeals(double meals) {
+		this.meals = meals;
+	}
+	public double getTransport() {
+		return transport;
+	}
+	public void setTransport(double transport) {
+		this.transport = transport;
+	}
+	public double getTotal() {
+		return meals+hotels+transport;
+	}
+}

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/SalesItem.java
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/SalesItem.java	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/SalesItem.java	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,41 @@
+package org.rf.datatable;
+
+public class SalesItem {
+	private int productCode;
+	private double proposedPrice;
+	private double ProposedGrossMargin;
+	private double salesCost;
+	public SalesItem(int productCode, double salesCost) {
+		super();
+		this.productCode = productCode;
+		this.salesCost = salesCost;
+	}
+	public int getProductCode() {
+		return productCode;
+	}
+	public void setProductCode(int productCode) {
+		this.productCode = productCode;
+	}
+	public double getProposedGrossMargin() {
+		if (proposedPrice == 0)
+			return 0;
+		else {
+			return (proposedPrice-salesCost)/proposedPrice ;
+		}
+	}
+	public void setProposedGrossMargin(double proposedGrossMargin) {
+		ProposedGrossMargin = proposedGrossMargin;
+	}
+	public double getProposedPrice() {
+		return proposedPrice;
+	}
+	public void setProposedPrice(double proposedPrice) {
+		this.proposedPrice = proposedPrice;
+	}
+	public double getSalesCost() {
+		return salesCost;
+	}
+	public void setSalesCost(double salesCost) {
+		this.salesCost = salesCost;
+	}
+}

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/SalesReport.java
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/SalesReport.java	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/datatable/SalesReport.java	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,26 @@
+package org.rf.datatable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SalesReport {
+	List items = null;
+
+	public List getItems() {
+		if (items == null)
+			initData();
+		return items;
+	}
+
+	public void setItems(List items) {
+		this.items = items;
+	}
+	
+	private void initData() {
+		items = new ArrayList();
+		items.add(new SalesItem(1, 20.00));
+		items.add(new SalesItem(2, 10.00));
+		items.add(new SalesItem(3, 20.00));
+		items.add(new SalesItem(4, 20.00));
+	}
+}

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/skin/SkinBean.java
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/skin/SkinBean.java	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/java/org/rf/skin/SkinBean.java	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,13 @@
+package org.rf.skin;
+
+public class SkinBean {
+	private String name;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+}

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/META-INF/MANIFEST.MF
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/META-INF/MANIFEST.MF	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/META-INF/MANIFEST.MF	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/faces-config.xml	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/faces-config.xml	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
+                              "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
+<faces-config>
+ <managed-bean>
+  <managed-bean-name>expenseReport</managed-bean-name>
+  <managed-bean-class>org.rf.datatable.ExpenseReport</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>skinBean</managed-bean-name>
+  <managed-bean-class>org.rf.skin.SkinBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+  <managed-property>
+   <property-name>name</property-name>
+   <property-class>java.lang.String</property-class>
+   <value>blueSky</value>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>salesReport</managed-bean-name>
+  <managed-bean-class>org.rf.datatable.SalesReport</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <navigation-rule>
+  <from-view-id>/pages/main.jsp</from-view-id>
+  <navigation-case>
+   <from-outcome>example1</from-outcome>
+   <to-view-id>/pages/example1.jsp</to-view-id>
+   <redirect/>
+  </navigation-case>
+  <navigation-case>
+   <from-outcome>example2</from-outcome>
+   <to-view-id>/pages/example2.jsp</to-view-id>
+   <redirect/>
+  </navigation-case>
+  <navigation-case>
+   <from-outcome>example3</from-outcome>
+   <to-view-id>/pages/example3.jsp</to-view-id>
+   <redirect/>
+  </navigation-case>
+  <navigation-case>
+   <from-outcome>example4</from-outcome>
+   <to-view-id>/pages/example4.jsp</to-view-id>
+   <redirect/>
+  </navigation-case>
+  <navigation-case>
+   <from-outcome>example10</from-outcome>
+   <to-view-id>/pages/example10.jsp</to-view-id>
+   <redirect/>
+  </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+  <from-view-id>*</from-view-id>
+  <navigation-case>
+   <from-outcome>main</from-outcome>
+   <to-view-id>/pages/main.jsp</to-view-id>
+   <redirect/>
+  </navigation-case>
+ </navigation-rule>
+</faces-config>

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/WEB-INF/web.xml	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>richfaces-dataTable</display-name>
+ <context-param>
+  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+  <param-value>server</param-value>
+ </context-param>
+ <listener>
+  <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
+ </listener>
+ <!-- Faces Servlet -->
+ <servlet>
+  <servlet-name>Faces Servlet</servlet-name>
+  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+  <load-on-startup>1</load-on-startup>
+ </servlet>
+ <context-param> 
+  <param-name>org.ajax4jsf.SKIN</param-name> 
+  <param-value>#{skinBean.name}</param-value> 
+ </context-param> 
+ <filter> 
+  <display-name>Ajax4jsf Filter</display-name> 
+  <filter-name>ajax4jsf</filter-name> 
+  <filter-class>org.ajax4jsf.Filter</filter-class> 
+ </filter> 
+ <filter-mapping> 
+  <filter-name>ajax4jsf</filter-name> 
+   <servlet-name>Faces Servlet</servlet-name>
+   <dispatcher>REQUEST</dispatcher>
+   <dispatcher>FORWARD</dispatcher>
+   <dispatcher>INCLUDE</dispatcher>
+ </filter-mapping>
+ <!-- Faces Servlet Mapping -->
+ <servlet-mapping>
+  <servlet-name>Faces Servlet</servlet-name>
+  <url-pattern>*.jsf</url-pattern>
+ </servlet-mapping>
+ <login-config>
+  <auth-method>BASIC</auth-method>
+ </login-config>
+</web-app>

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/index.jsp
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/index.jsp	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/index.jsp	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,7 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head></head>
+	<body>
+		<jsp:forward page="/pages/main.jsf" />
+	</body>
+</html>
\ No newline at end of file

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example1.jsp
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example1.jsp	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example1.jsp	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,60 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> 
+
+<html>
+	<head>
+		<title>RichFaces dataTable Article. Example #1</title>
+	</head>
+	<body>
+		<f:view>
+			<h:outputText value="Example #1. Simple Table" />
+			
+			<rich:dataTable value="#{expenseReport.records}" var="record">
+			  	<h:column>
+			  	    <f:facet name="header">
+			  	    	<h:outputText value="City Name" />
+			  	    </f:facet>
+			  		<h:outputText value="#{record.city}" />
+				</h:column>
+				<h:column>
+			  	    <f:facet name="header">
+			  	    	<h:outputText value="Meals" />
+			  	    </f:facet>
+			  		<h:outputText value="#{record.totalMeals}">
+			  			<f:convertNumber  pattern="$####.00"  />
+			  		</h:outputText>
+				</h:column>
+				<h:column>
+			  	    <f:facet name="header">
+			  	    	<h:outputText value="Transport" />
+			  	    </f:facet>
+			  		<h:outputText value="#{record.totalTransport}">
+			  			<f:convertNumber  pattern="$####.00"  />
+				  	</h:outputText>
+				</h:column>
+				<h:column>
+			  	    <f:facet name="header">
+			  	    	<h:outputText value="Hotels" />
+			  	    </f:facet>
+			  		<h:outputText value="#{record.totalHotels}">
+			  			<f:convertNumber  pattern="$####.00"  />
+				  	</h:outputText>
+				</h:column>
+				<h:column>
+			  	    <f:facet name="header">
+			  	    	<h:outputText value="Total" />
+			  	    </f:facet>
+			  		<h:outputText value="#{record.total}">
+			  			<f:convertNumber  pattern="$####.00"  />
+				  	</h:outputText>
+				</h:column>
+			</rich:dataTable>
+			
+			<h:form>
+				<h:commandLink value="back to example list" action="main"></h:commandLink>
+			</h:form>
+		</f:view>
+	</body>	
+</html>  

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example10.jsp
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example10.jsp	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example10.jsp	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,84 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> 
+
+<html>
+	<head>
+		<title>RichFaces dataTable Article. Example #4</title>
+		<style>
+
+		</style>
+	</head>
+	<body>
+		
+		<f:view>
+
+		<h:form id="form">
+			<rich:dataTable value="#{salesReport.items}" var="item">
+				<f:facet name="header">
+					<rich:columnGroup>
+						<h:column>
+							<h:outputText value="Product Code" />
+						</h:column>
+						<h:column>
+							<h:outputText value="Proposed Price" />
+						</h:column>
+						<h:column>
+							<h:outputText value="Sales Cost" />
+						</h:column>
+						<h:column>
+							<h:outputText value="Proposed Gross Margin" />
+						</h:column>
+					</rich:columnGroup>
+				</f:facet>
+				<h:column>
+					<h:outputText value="#{item.productCode}" />
+				</h:column>
+				<h:column>
+					<h:inputText value="#{item.proposedPrice}" size="7">
+						<a4j:support event="onchange" reRender="margin" />
+					</h:inputText>
+				</h:column>
+				<h:column>
+					<h:outputText value="#{item.salesCost}" />
+				</h:column>
+				<h:column>
+					<h:outputText id="margin" value="#{item.proposedGrossMargin}">
+						<f:convertNumber  pattern="$###0.000"  />
+					</h:outputText>
+				</h:column>
+			</rich:dataTable>
+
+
+		<a4j:outputPanel id="err" ajaxRendered="true">
+			<h:messages />
+		</a4j:outputPanel>
+		
+		</h:form>
+		<h:form id="form1">
+		<f:verbatim><table></f:verbatim>
+			<a4j:repeat id="rep" value="#{salesReport.items}" var="item">
+		<f:verbatim><tr><td></f:verbatim>
+			 
+					<h:inputText value="#{item.proposedPrice}" size="7">
+						<a4j:support event="onchange" reRender="margin1" />
+					</h:inputText>
+		<f:verbatim></td><td></f:verbatim>
+					<h:outputText id="margin1" value="#{item.proposedGrossMargin}">
+						<f:convertNumber  pattern="$###0.000"  />
+					</h:outputText>					
+		<f:verbatim></td></tr></f:verbatim>
+			</a4j:repeat>
+		<f:verbatim></table></f:verbatim>
+		</h:form>
+		
+			
+			<h:form>
+				<rich:separator lineType="dashed" height="1" style="padding-top:20px" />
+				<h:commandLink value="back to example list" action="main"></h:commandLink>
+			</h:form>
+			<a4j:log hotkey="M" />
+		</f:view>
+	</body>	
+</html>  

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example2.jsp
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example2.jsp	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example2.jsp	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,117 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> 
+
+<html>
+	<head>
+		<title>RichFaces dataTable Article. Example #2</title>
+	</head>
+	<body>
+		<f:view>
+			
+			
+			<rich:dataTable width="400" value="#{expenseReport.records}" var="record">
+				<f:facet name="caption">
+					<h:outputText value="Example #2. Using rich:column and rich:columnGroup" />
+				</f:facet>
+				<f:facet name="header">
+					<rich:columnGroup>
+						<rich:column rowspan="2">
+							<h:outputText value="City Name" />
+						</rich:column>
+
+						<rich:column colspan="3">
+							<h:outputText value="Expenses" />
+						</rich:column>
+					
+						<rich:column rowspan="2">
+							<h:outputText value="Total" />
+						</rich:column>
+					
+						<rich:column breakBefore="true">
+							<h:outputText value="Meals" />
+						</rich:column>
+
+						<rich:column>
+							<h:outputText value="Transport" />
+						</rich:column>
+					
+						<rich:column>
+							<h:outputText value="Hotels" />
+						</rich:column>
+					
+					</rich:columnGroup>
+				</f:facet>
+				
+				<f:facet name="footer">
+					<rich:columnGroup>
+						<rich:column><h:outputText value="Grand Total" /></rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalMeals}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalTransport}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalHotels}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column><h:outputText value="#{expenseReport.grandTotal}" /></rich:column>
+					</rich:columnGroup>
+				</f:facet>
+				
+			  	<h:column>
+			  		<h:outputText value="#{record.city}" />
+				</h:column>
+				<h:column>
+			  		<h:outputText value="#{record.totalMeals}">
+			  			<f:convertNumber  pattern="$####.00"  />
+			  		</h:outputText>
+				</h:column>
+				<h:column>
+			  		<h:outputText value="#{record.totalTransport}">
+			  			<f:convertNumber  pattern="$####.00"  />
+				  	</h:outputText>
+				</h:column>
+				<h:column>
+			  		<h:outputText value="#{record.totalHotels}">
+			  			<f:convertNumber  pattern="$####.00"  />
+				  	</h:outputText>
+				</h:column>
+				<h:column>
+			  		<h:outputText value="#{record.total}">
+			  			<f:convertNumber  pattern="$####.00"  />
+				  	</h:outputText>
+				</h:column>
+			</rich:dataTable>
+			
+			<h:form>
+				<h:outputText value="Change Skin:" />
+				<h:commandLink action="changeSkin" value="Classic">
+					<a4j:actionparam name="skin" value="classic" assignTo="#{skinBean.name}" />
+				</h:commandLink>
+				<h:commandLink action="changeSkin" value="BlueSky">
+					<a4j:actionparam name="skin" value="blueSky" assignTo="#{skinBean.name}" />
+				</h:commandLink>
+				<h:commandLink action="changeSkin" value="DeepMarine">
+					<a4j:actionparam name="skin" value="deepMarine" assignTo="#{skinBean.name}" />
+				</h:commandLink>
+				<h:commandLink action="changeSkin" value="EmeraldTown">
+					<a4j:actionparam name="skin" value="emeraldTown" assignTo="#{skinBean.name}" />
+				</h:commandLink>
+				<h:commandLink action="changeSkin" value="Wine">
+					<a4j:actionparam name="skin" value="wine" assignTo="#{skinBean.name}" />
+				</h:commandLink>
+				
+				<rich:separator lineType="dashed" height="1" />
+				<h:commandLink value="back to example list" action="main"></h:commandLink>
+			</h:form>
+		</f:view>
+	</body>	
+</html>  

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example3.jsp
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example3.jsp	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example3.jsp	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,121 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> 
+
+<html>
+	<head>
+		<title>RichFaces dataTable Article. Example #3</title>
+		<style>
+		 .rich-table-caption {
+			color:#008894;
+			font-size:12px;
+			font-family:arial;	
+			font-weight:bold;	 
+		 }
+		 .rich-table-header, .rich-table-header-continue {
+		 	background-image:none;
+		 	background-color:#A4DBE0;
+		 }
+		 .rich-table-headercell {
+		 	color: #7B3D3D;
+		 }
+		 .rich-table-firstrow{
+		 	background-color: #F3FEFF;
+		 }
+		 .rich-table-footer {
+  		    background-color:  #F3FEFF;
+		 }
+		 .rich-table-footercell {
+		    border-top: 2px solid #CCCCCC;
+		 }
+		</style>
+	</head>
+	<body>
+		<f:view>
+				<rich:dataTable width="400"value="#{expenseReport.records}" var="record">
+				<f:facet name="caption">
+					<h:outputText value="Example #3. Look-n-Feel Customization with Predefined Classes" />
+				</f:facet>
+				<f:facet name="header">
+					<rich:columnGroup>
+						<rich:column rowspan="2">
+							<h:outputText value="City Name" />
+						</rich:column>
+
+						<rich:column colspan="3">
+							<h:outputText value="Expenses" />
+						</rich:column>
+					
+						<rich:column rowspan="2">
+							<h:outputText value="Total" />
+						</rich:column>
+					
+						<rich:column breakBefore="true">
+							<h:outputText value="Meals" />
+						</rich:column>
+
+						<rich:column>
+							<h:outputText value="Transport" />
+						</rich:column>
+					
+						<rich:column>
+							<h:outputText value="Hotels" />
+						</rich:column>
+					
+					</rich:columnGroup>
+				</f:facet>
+				
+				<f:facet name="footer">
+					<rich:columnGroup>
+						<rich:column><h:outputText value="Grand Total" /></rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalMeals}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalTransport}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalHotels}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column><h:outputText value="#{expenseReport.grandTotal}" /></rich:column>
+					</rich:columnGroup>
+				</f:facet>
+				  	<h:column>
+				  		<h:outputText value="#{record.city}" />
+					</h:column>
+					<h:column>
+				  		<h:outputText value="#{record.totalMeals}">
+				  			<f:convertNumber  pattern="$####.00"  />
+				  		</h:outputText>
+					</h:column>
+					<h:column>
+				  		<h:outputText value="#{record.totalTransport}">
+				  			<f:convertNumber  pattern="$####.00"  />
+					  	</h:outputText>
+					</h:column>
+					<h:column>
+				  		<h:outputText value="#{record.totalHotels}">
+				  			<f:convertNumber  pattern="$####.00"  />
+					  	</h:outputText>
+					</h:column>
+					<rich:column>
+				  		<h:outputText value="#{record.total}">
+				  			<f:convertNumber  pattern="$####.00"  />
+					  	</h:outputText>
+					</rich:column>
+			</rich:dataTable>
+			
+			<h:form>
+				<rich:separator lineType="dashed" height="1" style="padding-top:20px" />
+				<h:commandLink value="back to example list" action="main"></h:commandLink>
+			</h:form>
+		</f:view>
+	</body>	
+</html>  

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example4.jsp
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example4.jsp	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/example4.jsp	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,127 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="rich"%>
+<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%> 
+
+<html>
+	<head>
+		<title>RichFaces dataTable Article. Example #4</title>
+		<style>
+		 .rich-table-caption {
+			color:#008894;
+			font-size:12px;
+			font-family:arial;	
+			font-weight:bold;	 
+		 }
+		 .rich-table-header, .rich-table-header-continue {
+		 	background-image:none;
+		 	background-color:#A4DBE0;
+		 }
+		 .rich-table-headercell {
+		 	color: #7B3D3D;
+		 }
+		 .rich-table-firstrow{
+		 	background-color: #F3FEFF;
+		 }
+		 .rich-table-footer {
+  		    background-color:  #F3FEFF;
+		 }
+		 .rich-table-footercell {
+		    border-top: 2px solid #CCCCCC;
+		 }
+		</style>
+	</head>
+	<body>
+		<f:view>
+		<h:form id="form">
+				<a4j:outputPanel ajaxRendered="false">
+				<rich:dataTable id="eTable" width="400" value="#{expenseReport.records}" var="record">
+				<f:facet name="caption">
+					<h:outputText value="Example #3. Look-n-Feel Customization. Using Classes and Styles" />
+				</f:facet>
+				<f:facet name="header">
+					<rich:columnGroup>
+						<rich:column rowspan="2">
+							<h:outputText value="City Name" />
+						</rich:column>
+
+						<rich:column colspan="3">
+							<h:outputText value="Expenses" />
+						</rich:column>
+					
+						<rich:column rowspan="2">
+							<h:outputText value="Total" />
+						</rich:column>
+					
+						<rich:column breakBefore="true">
+							<h:outputText value="Meals" />
+						</rich:column>
+
+						<rich:column>
+							<h:outputText value="Transport" />
+						</rich:column>
+					
+						<rich:column>
+							<h:outputText value="Hotels" />
+						</rich:column>
+					
+					</rich:columnGroup>
+				</f:facet>
+				
+				<f:facet name="footer">
+					<rich:columnGroup>
+						<rich:column><h:outputText value="Grand Total" /></rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalMeals}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalTransport}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expenseReport.totalHotels}" >
+					  			<f:convertNumber  pattern="$####.00"  />
+							</h:outputText>
+						</rich:column>
+						<rich:column><h:outputText value="#{expenseReport.grandTotal}" /></rich:column>
+					</rich:columnGroup>
+				</f:facet>
+				  	<h:column>
+				  		<h:outputText value="#{record.city}" />
+					</h:column>
+					<h:column>
+				  		<h:inputText size="7" value="#{record.totalMeals}">
+				  		    <a4j:support event="onchange" reRender=":form:eTable" />
+				  			<f:convertNumber  pattern="####.00"  />
+				  		</h:inputText>
+					</h:column>
+					<h:column>
+				  		<h:outputText value="#{record.totalTransport}">
+				  			<f:convertNumber  pattern="$####.00"  />
+					  	</h:outputText>
+					</h:column>
+					<h:column>
+				  		<h:outputText value="#{record.totalHotels}">
+				  			<f:convertNumber  pattern="$####.00"  />
+					  	</h:outputText>
+					</h:column>
+					<rich:column>
+				  		<h:outputText value="#{record.total}">
+				  			<f:convertNumber  pattern="$####.00"  />
+					  	</h:outputText>
+					</rich:column>
+			</rich:dataTable>
+			</a4j:outputPanel>
+			</h:form>
+			
+			<h:form>
+				<rich:separator lineType="dashed" height="1" style="padding-top:20px" />
+				<h:commandLink value="back to example list" action="main"></h:commandLink>
+			</h:form>
+			<a4j:log hotkey="M"/>
+		</f:view>
+	</body>	
+</html>  

Added: trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/main.jsp
===================================================================
--- trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/main.jsp	                        (rev 0)
+++ trunk/richfaces-samples/richfaces-art-datatable/src/main/webapp/pages/main.jsp	2007-04-09 17:43:32 UTC (rev 327)
@@ -0,0 +1,20 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<html>
+	<head>
+		<title>RichFaces dataTable. Article Examples</title>
+	</head>
+	<body>
+		<f:view>
+			<h:form>
+				<h:panelGrid columns="1">
+				<h:commandLink value="Example #1. Simple Table" action="example1" />
+				<h:commandLink value="Example #2. Using rich:column and rich:columnGroup" action="example2" />
+				<h:commandLink value="Example #3. Look-n-Feel Customization with Predefined Classes"  action="example3" />
+				<h:commandLink value="Example #4. Look-n-Feel Customization. Using Classes and Styles"  action="example4" />
+				<h:commandLink value="Example #10. Ajax Update"  action="example10" />
+				</h:panelGrid>
+			</h:form>
+		</f:view>
+	</body>	
+</html>  




More information about the richfaces-svn-commits mailing list