Hi,
The Table component does not store the data its passed by default. You
have to do either of the following:
- store the data yourself (e.g. by storing it in a persistent property)
- force the Table component to store the data (e.g. by providing a
SessionStateManager)
- obtain the data in each request (e.g. by performing a database query
upon request. This can be very efficient -- see IBasicTableModel for
example)
Which strategy is best depends greatly on your specific situation. The
first option is the simplest, however.
Edward Scanzano wrote:
More information:
After going through the TableView code with a debugger
I have verified that in the circumstance where a model
is not supplied and a source and column list is
supplied, the default generated table model is not
saved through the saveSessionState method. The
FullTableSessionStateManager class is being used in
the tableSessionStateManager binding. Is this a bug?
How can I fix this?
Thanks
Ed
--- Edward Scanzano <[EMAIL PROTECTED]> wrote:
Hi All,
I have a situtation where I create a table component
as follows:
<table jwcid="[EMAIL PROTECTED]:Table"
source="ognl:searchResults"
columns="literal:!select, id,
name:Name:getName(),description:Description:getDescription()"
rowsClass="ognl:beans.evenOdd.next"
pageSize="20"
objectIds="ognl:objectIds"
checkboxLabels="literal:editButtonLabel,deleteButtonLabel,copyButtonLabel">
</table>
I have created a custom Table component that has a
few
additional parameters. The table displays correctly,
however, when I go to click on a sort header, I get
this exception.
Either the tableModel parameter or both source and
columns parameters must be specified by component
adUserGroupsManagement/groupSearchTable.tableView
org.apache.tapestry.contrib.table.components.TableView.getTableModel(TableView.java:220)
org.apache.tapestry.contrib.table.components.inserted.SimpleTableColumnComponent.columnSelected(SimpleTableColumnComponent.java:149)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
*************************************************
I have set tableSessionStateManager =
org.apache.tapestry.contrib.table.model.common.FullTableSessionStateManager()
and I still get the above error. What I think is
happening is that once the page is rendered,
Tapestry
puts the page in the pool and nullifies all of my
property variables. So when I click on the sort the
page comes out of the pool and it attempts to use
the
now null source and columns parameters. Why is this
happening and how do I fix it?
Thanks
Ed
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]