Author: mindbridge
Date: Sat Oct 29 06:32:46 2005
New Revision: 329414

URL: http://svn.apache.org/viewcvs?rev=329414&view=rev
Log:
Adding the basic documentation of the Table components 

in the new format. This is revision 1 -- more is being

done at the moment.

Removed:
    
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/SimpleTableColumnComponent.xml
    
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/SimpleTableColumnFormComponent.xml
Modified:
    
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/FormTable.xml
    
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableColumns.xml
    
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TablePages.xml
    
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableRows.xml
    
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableValues.xml
    
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableView.xml

Modified: 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/FormTable.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/FormTable.xml?rev=329414&r1=329413&r2=329414&view=diff
==============================================================================
--- 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/FormTable.xml
 (original)
+++ 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/FormTable.xml
 Sat Oct 29 06:32:46 2005
@@ -176,7 +176,7 @@
 </p>
 
 <p>
-  <strong>See also:</strong> 
+  <strong>See also: &Table;, &TableView;, &TablePages;, &TableColumns;, 
&TableRows;, &TableValues;</strong> 
 </p>
 
 <section>
@@ -192,14 +192,242 @@
     <th>Description</th>
   </tr>
 
-       </table>
+    <tr>
+      <td>source</td>
+      <td><link href="&apijava;/java/lang/Object.html">Object</link>[]
+      <br/><link href="&apijava;/java/util/Collection.html">Collection</link>
+      <br/><link href="&apijava;/java/util/Iterator.html">Iterator</link>
+      <br/><link 
href="&apiroot;/table/model/IBasicTableModel.html">IBasicTableModel</link>
+      </td>
+      <td>in</td>
+      <td rowspan="3">You must provide either both <code>source</code> and 
+          <code>columns</code> parameters or the <code>tableModel</code> 
parameter</td>
+      <td>&nbsp;</td>
+
+      <td>The data to be displayed by the component. 
+          This parameter must be used in combination with the columns 
parameter. 
+          The parameter must be an array of values, a collection, an iterator, 
+          or an object implementing the 
+          <link 
href="&apiroot;/table/model/IBasicTableModel.html">IBasicTableModel</link> 
+          interface.</td>
+    </tr>
+    
+    <tr>
+      <td>columns</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link>
+      <br/><link 
href="&apiroot;/table/model/ITableColumnModel.html">ITableColumnModel</link>
+      <br/><link 
href="&apiroot;/table/model/ITableColumnModel.html">ITableColumnModel</link>
+      <br/><link href="&apijava;/java/util/List.html">List</link>
+      <br/><link href="&apijava;/java/util/Iterator.html">Iterator</link>
+      </td>
+      <td>in</td>
+      <!--td>no</td-->
+      <td>&nbsp;</td>
+
+      <td>The table columns to be displayed. 
+          The parameter must be an array, a list, or an Iterator of 
ITableColumn objects, 
+          an ITableColumnModel, or a String describing the columns (see 
documentation).</td>
+    </tr>
+    
+    <tr>
+      <td>tableModel</td>
+      <td><link 
href="&apiroot;/table/model/ITableModel.html">ITableModel</link></td>
+      <td>in</td>
+      <!--td>no</td-->
+      <td>&nbsp;</td>
+
+      <td>The <link 
href="&apiroot;/table/model/ITableModel.html">ITableModel</link> 
+          to be used to render the table. 
+          The model contains all of the information needed to render the table 
+          and gives greatest flexibility, but it may be harder to implement 
+          than simply using the source and columns parameters.</td>
+    </tr>
+    
+    <tr>
+      <td>tableSessionStateManager</td>
+      <td><link 
href="&apiroot;/table/model/ITableSessionStateManager.html">ITableSessionStateManager</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>A custom session state manager that reloads the data at each request 
+          if it is provided via the source and columns parameters or 
+          stores all of it in the session if it is provided via the tableModel 
parameter</td>
+
+      <td>This is the session state manager that will control what part of the 
table model 
+          will be saved in the session state. It is then used to recreate the 
table model 
+          by using what was saved in the session.
+          <br/>
+          You can use one of the stock implementations of 
+          <link 
href="&apiroot;/table/model/ITableSessionStateManager.html">ITableSessionStateManager</link>
 
+          to determine the session state behaviour, or you can define your 
own. </td>
+    </tr>
+    
+    <tr>
+      <td>tableSessionStoreManager</td>
+      <td><link 
href="&apiroot;/table/model/ITableSessionStoreManager.html">ITableSessionStoreManager</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>null</td>
+
+      <td>Determines how the session state (returned by the session state 
manager) 
+          will be saved in the session. If this parameter is null, 
+          then the state will be saved as a persistent property. 
+          If it is not null, then the methods of the interface 
+          will be used to save and load the state. </td>
+    </tr>
+    
+    <tr>
+      <td>convertor</td>
+      <td><link 
href="&apiroot;/table/model/IPrimaryKeyConvertor.html">IPrimaryKeyConvertor</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>An interface defining how the items iterated upon by this component 
+          will be stored in the form as Hidden values. This interface allows 
+          only the primary key of the items to be stored, rather than the 
whole item.</td>
+    </tr>
+    
+    <tr>
+      <td>row</td>
+      <td><link href="&apijava;/java/lang/Object.html">Object</link></td>
+      <td>out</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The value object of the current row being rendered.</td>
+    </tr>
+    
+    <tr>
+      <td>column</td>
+      <td><link 
href="&apiroot;/table/model/ITableColumn.html">ITableColumn</link></td>
+      <td>out</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The object representing the current column being rendered.</td>
+    </tr>
+    
+    <tr>
+      <td>pageSize</td>
+      <td>int</td>
+      <td>in</td>
+      <td>no</td>
+      <td>10</td>
+
+      <td>The number of records displayed per page.
+      <br/>This parameter is only used with the source and columns parameters. 
</td>
+    </tr>
+    
+    <tr>
+      <td>initialSortColumn</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>null</td>
+
+      <td> The id of the column to initially sort the table by. 
+          A value of null indicates no sorting.
+          <br/>
+          This parameter is only used with the source and columns parameters. 
</td>
+    </tr>
+    
+    <tr>
+      <td>initialSortOrder</td>
+      <td>boolean </td>
+      <td>in</td>
+      <td>no</td>
+      <td>false</td>
+
+      <td>The order of the initial sorting. 
+          Set this parameter to false to sort in an ascending order 
+          and to true to sort in a descending one.
+          <br/>
+          This parameter is only used with the source and columns parameters. 
</td>
+    </tr>
+    
+    <tr>
+      <td>pagesDisplayed</td>
+      <td>int</td>
+      <td>in</td>
+      <td>no</td>
+      <td>7</td>
+
+      <td>Determines the maximum number of pages to be displayed in the page 
list 
+          when the table has more than one page.
+          <br/>
+          For example, if the table has 20 pages, and 10 is the current page, 
+          pages from 7 to 13 in the page list will be shown 
+          if this parameter has a value of 7. </td>
+    </tr>
+    
+    <tr>
+      <td>arrowUpAsset</td>
+      <td><link href="&apiroot;/IAsset.html">IAsset</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The image to use to describe a column sorted in an ascending 
order.</td>
+    </tr>
+    
+    <tr>
+      <td>arrowDownAsset</td>
+      <td><link href="&apiroot;/IAsset.html">IAsset</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The image to use to describe a column sorted in a descending 
order.</td>
+    </tr>
+    
+    <tr>
+      <td>pagesClass</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td></td>
+
+      <td>The CSS class of the table pages.</td>
+    </tr>
+    
+    <tr>
+      <td>columnsClass</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td></td>
+
+      <td>The CSS class of the table columns.</td>
+    </tr>
+    
+    <tr>
+      <td>rowsClass</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td></td>
+
+      <td>The CSS class of the table rows.</td>
+    </tr>
+    
+    <tr>
+      <td>valuesClass</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td></td>
+
+      <td>The CSS class of the table values.</td>
+    </tr>
+    
+</table>
   
 <p>
-  Body: <strong>removed / allowed</strong>
+  Body: <strong>allowed</strong>
 </p>  
 
 <p>
-  Informal parameters: <strong>allowed  / forbidden</strong>
+  Informal parameters: <strong>allowed</strong>
 </p>
 
 <p>

Modified: 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableColumns.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableColumns.xml?rev=329414&r1=329413&r2=329414&view=diff
==============================================================================
--- 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableColumns.xml
 (original)
+++ 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableColumns.xml
 Sat Oct 29 06:32:46 2005
@@ -28,11 +28,21 @@
   
   <body>
 
-<p> <strong>THIS PAGE UNDER CONSTRUCTION</strong>
+<p> 
+ A low level &Table; component that renders the column headers in the table.
+ This component must be wrapped by &TableView;.
+ </p>
+ <p>
+ The component iterates over all column objects in the
+ <link 
href="&apicontrib;/contrib/table/model/ITableColumnModel.html">ITableColumnModel</link>
 and renders
+ a header for each one of them using the renderer provided by the
+ <code>getColumnRender()</code> method in 
+ <link 
href="&apicontrib;/contrib/table/model/ITableColumn.html">ITableColumn</link>.
+ The headers are wrapped in 'th' tags by default.
 </p>
 
 <p>
-  <strong>See also:</strong> 
+  <strong>See also: &Table;, &TableView;, &TablePages;, &TableRows;, 
&TableValues;</strong> 
 </p>
 
 <section>
@@ -42,20 +52,60 @@
   <tr> 
     <th>Name</th>
     <th>Type</th>
-         <th>Direction</th>
+       <th>Direction</th>
     <th>Required</th> 
     <th>Default</th>
     <th>Description</th>
   </tr>
 
-       </table>
+    <tr>
+      <td>element</td>
+      <td>String</td>
+      <td>in</td>
+      <td>no</td>
+      <td>th</td>
+
+      <td>The tag to use to wrap the column headers.</td>
+    </tr>
+    
+    <tr>
+      <td>column</td>
+      <td><link 
href="&apicontrib;/contrib/table/model/ITableColumn.html">ITableColumn</link></td>
+      <td>out</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The object representing the current column.</td>
+    </tr>
+    
+    <tr>
+      <td>arrowUpAsset</td>
+      <td><link href="&apiroot;/IAsset.html">IAsset</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The image to use to describe a column sorted in an ascending 
order.</td>
+    </tr>
+    
+    <tr>
+      <td>arrowDownAsset</td>
+      <td><link href="&apiroot;/IAsset.html">IAsset</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The image to use to describe a column sorted in a descending 
order.</td>
+    </tr>
+    
+</table>
   
 <p>
-  Body: <strong>removed / allowed</strong>
+  Body: <strong>removed</strong>
 </p>  
 
 <p>
-  Informal parameters: <strong>allowed  / forbidden</strong>
+  Informal parameters: <strong>allowed</strong>
 </p>
 
 <p>

Modified: 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TablePages.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TablePages.xml?rev=329414&r1=329413&r2=329414&view=diff
==============================================================================
--- 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TablePages.xml
 (original)
+++ 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TablePages.xml
 Sat Oct 29 06:32:46 2005
@@ -28,11 +28,17 @@
   
   <body>
 
-<p> <strong>THIS PAGE UNDER CONSTRUCTION</strong>
+<p>
+    A low level &Table; component that renders the pages in the table. 
+    This component must be wrapped by &TableView;.
+</p>
+<p>    
+    The component generates a list of pages in the &Table; centered around the 
current one and 
+    allows you to navigate to other pages. 
 </p>
 
 <p>
-  <strong>See also:</strong> 
+  <strong>See also: &Table;, &TableView;, &TableColumns;, &TableRows;, 
&TableValues;</strong> 
 </p>
 
 <section>
@@ -48,14 +54,29 @@
     <th>Description</th>
   </tr>
 
-       </table>
+    <tr>
+      <td>pagesDisplayed</td>
+      <td>int</td>
+      <td>in</td>
+      <td>no</td>
+      <td>7</td>
+
+      <td>Determines the maximum number of pages to be displayed in the page 
list 
+          when the table has more than one page.
+          <br/>
+          For example, if the table has 20 pages, and 10 is the current page, 
+          pages from 7 to 13 in the page list will be shown 
+          if this parameter has a value of 7. </td>
+    </tr>
+    
+</table>
   
 <p>
-  Body: <strong>removed / allowed</strong>
+  Body: <strong>removed</strong>
 </p>  
 
 <p>
-  Informal parameters: <strong>allowed  / forbidden</strong>
+  Informal parameters: <strong>allowed</strong>
 </p>
 
 <p>

Modified: 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableRows.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableRows.xml?rev=329414&r1=329413&r2=329414&view=diff
==============================================================================
--- 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableRows.xml
 (original)
+++ 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableRows.xml
 Sat Oct 29 06:32:46 2005
@@ -28,11 +28,18 @@
   
   <body>
 
-<p> <strong>THIS PAGE UNDER CONSTRUCTION</strong>
+<p>
+    A low level &Table; component that generates the rows of the current page 
in the table. 
+    This component must be wrapped by &TableView;.
+    <br/>
+    The component iterates over the rows of the current page in the table. 
+    The rows are wrapped in 'tr' tags by default. 
+    You can define columns manually within, or you can use &TableValues; 
+    to generate the columns automatically. 
 </p>
 
 <p>
-  <strong>See also:</strong> 
+  <strong>See also: &Table;, &TableView;, &TablePages;, &TableColumns;, 
&TableValues;</strong> 
 </p>
 
 <section>
@@ -48,14 +55,34 @@
     <th>Description</th>
   </tr>
 
-       </table>
+    <tr>
+      <td>row</td>
+      <td><link href="&apijava;/java/lang/Object.html">Object</link></td>
+      <td>out</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The value object of the current row being rendered.</td>
+    </tr>
+    
+    <tr>
+      <td>element</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>tr</td>
+
+      <td>The tag to use to wrap the rows in.</td>
+    </tr>
+    
+</table>
   
 <p>
-  Body: <strong>removed / allowed</strong>
+  Body: <strong>removed</strong>
 </p>  
 
 <p>
-  Informal parameters: <strong>allowed  / forbidden</strong>
+  Informal parameters: <strong>allowed</strong>
 </p>
 
 <p>

Modified: 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableValues.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableValues.xml?rev=329414&r1=329413&r2=329414&view=diff
==============================================================================
--- 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableValues.xml
 (original)
+++ 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableValues.xml
 Sat Oct 29 06:32:46 2005
@@ -28,11 +28,20 @@
   
   <body>
 
-<p> <strong>THIS PAGE UNDER CONSTRUCTION</strong>
-</p>
+<p>
+    A low level &Table; component that generates the columns in the current 
row in the table. 
+    This component must be wrapped by &TableRows;.
+    <br/>
+    The component iterates over the columns in the table and automatically 
renders 
+    the column values for the current table row. 
+    The columns are wrapped in 'td' tags by default.
+    <br/>
+    The column values are rendered using the renderer returned 
+    by the <code>getValueRenderer()</code> method in 
+    <link href="&apiroot;/table/model/ITableColumn.html">ITableColumn</link>. 
</p>
 
 <p>
-  <strong>See also:</strong> 
+  <strong>See also: &Table;, &TableView;, &TablePages;, &TableColumns;, 
&TableRows;</strong> 
 </p>
 
 <section>
@@ -48,14 +57,34 @@
     <th>Description</th>
   </tr>
 
-       </table>
+    <tr>
+      <td>column</td>
+      <td><link 
href="&apiroot;/table/model/ITableColumn.html">ITableColumn</link></td>
+      <td>out</td>
+      <td>no</td>
+      <td>&nbsp;</td>
+
+      <td>The object representing the current column being rendered.</td>
+    </tr>
+    
+    <tr>
+      <td>element</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>tr</td>
+
+      <td>The tag to use to wrap the column values in.</td>
+    </tr>
+    
+</table>
   
 <p>
-  Body: <strong>removed / allowed</strong>
+  Body: <strong>removed</strong>
 </p>  
 
 <p>
-  Informal parameters: <strong>allowed  / forbidden</strong>
+  Informal parameters: <strong>allowed</strong>
 </p>
 
 <p>

Modified: 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableView.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableView.xml?rev=329414&r1=329413&r2=329414&view=diff
==============================================================================
--- 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableView.xml
 (original)
+++ 
jakarta/tapestry/trunk/contrib/src/documentation/content/xdocs/tapestry-contrib/ComponentReference/TableView.xml
 Sat Oct 29 06:32:46 2005
@@ -28,11 +28,127 @@
   
   <body>
 
-<p> <strong>THIS PAGE UNDER CONSTRUCTION</strong>
+<p>
+<strong>Providing the data</strong>
+</p>
+
+<p>
+    A low level &Table; component that wraps all other low level &Table; 
components. 
+    This component carries the 
+    <link href="&apiroot;/table/model/ITableModel.html">ITableModel</link> 
+    that is used by the other &Table; components. The information that will be 
displayed 
+    can be provided either via the source and columns parameters, or via the 
+    <code>tableModel</code> parameters.
 </p>
 
 <p>
-  <strong>See also:</strong> 
+    There are many ways to provide the component with the data it has to 
render, 
+    but here are the three major ones:
+</p>
+
+       <ol>
+        <li>The data is passed to the source parameter in the form of an 
array, 
+            a collection, or an iterator, and the table columns are defined 
+            using the columns parameter (see further for details). 
+            Both of these parameters will be evaluated at every request by 
default, 
+            so changes in the data or the table columns will be displayed 
immediately.
+            <br/><br/>
+                       This is the easiest and most straightforward approach. 
+            It has one performance limitation, however - if the table is 
sorting 
+            the data according to a given column, the sorting will be 
performed at 
+            every request. The next methods provide ways to resolve this 
possible 
+            performance issue.
+               </li>
+            
+               <li>The data is passed to the source parameter via an object 
that implements 
+            the IBasicTableModel interface. Through that interface you are 
given 
+            the sorting column (if any) and the numbers of the items that will 
be 
+            displayed on the current page. You then need to provide the 
component 
+            with the corresponding data.
+            <br/><br/>
+                       This method allows you to perform the sorting in the 
database and load 
+            only the data that will be displayed on the current page (e.g. by 
using 
+            the ORDER BY, LIMIT, and OFFSET clauses in SQL) and hence it could 
be 
+            far more efficient.
+        </li>
+
+               <li>All of the information (data, columns, state) is packaged 
in an 
+            <link 
href="&apiroot;/table/model/ITableModel.html">ITableModel</link> 
+            and is passed to the <code>tableModel</code> parameter.
+            <br/><br/>
+               This approach allows greatest flexibility, but is recommended 
only 
+            for advanced users of the Table components. 
+        </li>
+       </ol>
+
+<p>
+<strong>Defining the columns</strong>
+</p>
+
+<p>
+If you define the table columns using the <code>columns</code> parameter, you 
can either
+provide a list of <link 
href="&apiroot;/table/model/ITableColumn.html"><code>ITableColumn</code></link>
+objects, each defining a column in the table, or you can define the columns 
using 
+a string that describes each column. 
+</p>
+<p>
+The string describing the columns must be formatted in the following way:
+</p>
+<ul>
+    <li>The column definitions in the string are separated by commas
+        <br/><br/>
+    </li>
+    <li>Each column definition must be of one of the following types:
+        <ul>
+            <li>id</li>
+            <li>id:expression</li>
+            <li>id:description:expression</li>
+        </ul>
+        <br/>
+        Here the <strong>id</strong> defines the identification of the column, 
the <strong>expression</strong> is an
+        OGNL expression that extracts the column value from the row object, 
and <strong>description</strong>
+        is the title of the column if it is not defined otherwise.
+        <br/><br/>
+        Each column definition may be prefixed by the <strong>!</strong> 
character, 
+        which identifies the column as non-sortable.
+        <br/><br/>
+        If defined, a Block with a name that is starts with the column id and 
+        ends with <em>ColumnValue</em> will be used to render the column 
values.
+        Similarly, a Block with a name that starts with the column id and 
+        ends with <em>ColumnHeader</em> will be used to render the column 
headers.
+        <br/><br/>
+        Finally, the title of the column will be taken from translation 
strings of the component
+        by using the column id as a key.
+        <br/><br/>
+        Please see the <code>LocaleSelection</code> component for examples.
+        <br/><br/>
+    </li>
+    <li>A column definition may also be of the type
+        <br/><br/>
+        <ul>
+            <li>=expression</li>
+        </ul>
+        <br/>
+        in which case it identifies an OGNL expression that returns an 
+        <link 
href="&apiroot;/table/model/ITableColumn.html"><code>ITableColumn</code></link>
+        object defining the column.
+        <br/><br/>
+    </li>
+    <li>The full description string may be prefixed by the <strong>*</strong> 
character,
+        which means that the table is to be rendered within a form, and the 
+        column headers must submit the form if they are clickable (i.e. if the 
column is sortable).
+    </li>
+</ul>
+<p>
+Here is an example of the use of a description string to define columns:
+<code>
+  columns="locale:toString(), =currencyColumn, 
verbosity:Verbosity:currentRowVerbosity, !delete"
+</code>
+</p>
+
+
+<p>
+  <strong>See also: &Table;, &TablePages;, &TableColumns;, &TableRows;, 
&TableValues;</strong> 
 </p>
 
 <section>
@@ -48,14 +164,149 @@
     <th>Description</th>
   </tr>
 
-       </table>
+    <tr>
+      <td>source</td>
+      <td><link href="&apijava;/java/lang/Object.html">Object</link>[]
+      <br/><link href="&apijava;/java/util/Collection.html">Collection</link>
+      <br/><link href="&apijava;/java/util/Iterator.html">Iterator</link>
+      <br/><link 
href="&apiroot;/table/model/IBasicTableModel.html">IBasicTableModel</link>
+      </td>
+      <td>in</td>
+      <td rowspan="3">You must provide either both <code>source</code> and 
+          <code>columns</code> parameters or the <code>tableModel</code> 
parameter</td>
+      <td>&nbsp;</td>
+
+      <td>The data to be displayed by the component. 
+          This parameter must be used in combination with the columns 
parameter. 
+          The parameter must be an array of values, a collection, an iterator, 
+          or an object implementing the 
+          <link 
href="&apiroot;/table/model/IBasicTableModel.html">IBasicTableModel</link> 
+          interface.</td>
+    </tr>
+    
+    <tr>
+      <td>columns</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link>
+      <br/><link 
href="&apiroot;/table/model/ITableColumnModel.html">ITableColumnModel</link>
+      <br/><link 
href="&apiroot;/table/model/ITableColumnModel.html">ITableColumnModel</link>
+      <br/><link href="&apijava;/java/util/List.html">List</link>
+      <br/><link href="&apijava;/java/util/Iterator.html">Iterator</link>
+      </td>
+      <td>in</td>
+      <!--td>no</td-->
+      <td>&nbsp;</td>
+
+      <td>The table columns to be displayed. 
+          The parameter must be an array, a list, or an Iterator of 
ITableColumn objects, 
+          an ITableColumnModel, or a String describing the columns (see 
documentation).</td>
+    </tr>
+    
+    <tr>
+      <td>tableModel</td>
+      <td><link 
href="&apiroot;/table/model/ITableModel.html">ITableModel</link></td>
+      <td>in</td>
+      <!--td>no</td-->
+      <td>&nbsp;</td>
+
+      <td>The <link 
href="&apiroot;/table/model/ITableModel.html">ITableModel</link> 
+          to be used to render the table. 
+          The model contains all of the information needed to render the table 
+          and gives greatest flexibility, but it may be harder to implement 
+          than simply using the source and columns parameters.</td>
+    </tr>
+    
+    <tr>
+      <td>tableSessionStateManager</td>
+      <td><link 
href="&apiroot;/table/model/ITableSessionStateManager.html">ITableSessionStateManager</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>A custom session state manager that reloads the data at each request 
+          if it is provided via the source and columns parameters or 
+          stores all of it in the session if it is provided via the tableModel 
parameter</td>
+
+      <td>This is the session state manager that will control what part of the 
table model 
+          will be saved in the session state. It is then used to recreate the 
table model 
+          by using what was saved in the session.
+          <br/>
+          You can use one of the stock implementations of 
+          <link 
href="&apiroot;/table/model/ITableSessionStateManager.html">ITableSessionStateManager</link>
 
+          to determine the session state behaviour, or you can define your 
own. </td>
+    </tr>
+    
+    <tr>
+      <td>tableSessionStoreManager</td>
+      <td><link 
href="&apiroot;/table/model/ITableSessionStoreManager.html">ITableSessionStoreManager</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>null</td>
+
+      <td>Determines how the session state (returned by the session state 
manager) 
+          will be saved in the session. If this parameter is null, 
+          then the state will be saved as a persistent property. 
+          If it is not null, then the methods of the interface 
+          will be used to save and load the state. </td>
+    </tr>
+    
+    <tr>
+      <td>pageSize</td>
+      <td>int</td>
+      <td>in</td>
+      <td>no</td>
+      <td>10</td>
+
+      <td>The number of records displayed per page.
+      <br/>This parameter is only used with the source and columns parameters. 
</td>
+    </tr>
+    
+    <tr>
+      <td>initialSortColumn</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>null</td>
+
+      <td> The id of the column to initially sort the table by. 
+          A value of null indicates no sorting.
+          <br/>
+          This parameter is only used with the source and columns parameters. 
</td>
+    </tr>
+    
+    <tr>
+      <td>initialSortOrder</td>
+      <td>boolean </td>
+      <td>in</td>
+      <td>no</td>
+      <td>false</td>
+
+      <td>The order of the initial sorting. 
+          Set this parameter to false to sort in an ascending order 
+          and to true to sort in a descending one.
+          <br/>
+          This parameter is only used with the source and columns parameters. 
</td>
+    </tr>
+    
+    <tr>
+      <td>element</td>
+      <td><link href="&apijava;/java/lang/String.html">String</link></td>
+      <td>in</td>
+      <td>no</td>
+      <td>table</td>
+
+      <td>The tag that will be used to wrap the inner components. 
+          If no binding is given, the tag that will be generated is 'table'. 
+          If you would like to place the bounds of the table elsewhere, 
+          you can make the element 'span' or another neutral tag and 
+          manually define the table.</td>
+    </tr>
+    
+</table>
   
 <p>
-  Body: <strong>removed / allowed</strong>
+  Body: <strong>removed</strong>
 </p>  
 
 <p>
-  Informal parameters: <strong>allowed  / forbidden</strong>
+  Informal parameters: <strong>allowed</strong>
 </p>
 
 <p>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to