[
https://issues.apache.org/jira/browse/TAPESTRY-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Huhn updated TAPESTRY-1901:
--------------------------------
Description:
I have a grid defined with rowsPerPage = 2. When there are 3 elements in the
GridDataSource, the user clicks the "2" link to display page 2. (So that there
is only one element displaying). The user clicks an action link that has the
following event handler defined:
public ListAccount onActionFromDel( Integer prmRId ) {
_DAO.delByRId(prmRId);
return( _listAccount );
}
(ListAccount is the current page class).
As the Grid attempts to re-render itself, it calls getAvailableRows() on the
GridDataSource, and getAvailableRows() correctly returns 2.
The Grid should automatically go to page 1 since there are only 2 rows
available and rowsPerPage is set to 2. However, instead, the Grid calls
prepare() with firstResult = 2 and lastResult = 1. After this, the Grid calls
getRowValue() with a negative value.
Note that the problem goes away if I add a line to the event handler:
public ListAccount onActionFromDel( Integer prmRId ) {
_DAO.delByRId(prmRId);
_listAccount._actList.setCurrentPage( 1 ); <------ this line solves the
problem
return( _listAccount );
}
But I don't believe this should be necessary.
Thanks,
Andy
was:
I have a grid defined with rowsPerPage = 2. When there are 3 elements in the
GridDataSource, I display page 2. (So that there is only one element
displaying). The user clicks an action link that has the following event
handler defined:
public ListAccount onActionFromDel( Integer prmRId ) {
_DAO.delByRId(prmRId);
return( _listAccount );
}
(ListAccount is the current page class).
The Grid calls getAvailableRows() on the GridDataSource, and getAvailableRows()
returns 2.
The Grid should automatically go to page 1 since there are only 2 rows
available and rowsPerPage is set to 2. However, instead, the Grid calls
prepare() with firstResult = 2 and lastResult = 1. After this, the Grid calls
getRowValue() with a negative value.
Note that the problem goes away if I add a line to the event handler:
public ListAccount onActionFromDel( Integer prmRId ) {
_DAO.delByRId(prmRId);
_listAccount._actList.setCurrentPage( 1 ); <------ this line
solves the problem
return( _listAccount );
}
But I don't believe this should be necessary.
Thanks,
Andy
> Grid component calls prepare() and getRowValue() with incorrect values
> ----------------------------------------------------------------------
>
> Key: TAPESTRY-1901
> URL: https://issues.apache.org/jira/browse/TAPESTRY-1901
> Project: Tapestry
> Issue Type: Bug
> Components: Core Components
> Affects Versions: 5.0.6
> Environment: Debian Lenny, Sun JDK 1.6, Jetty, Tapestry 5.0.6
> Reporter: Andy Huhn
>
> I have a grid defined with rowsPerPage = 2. When there are 3 elements in the
> GridDataSource, the user clicks the "2" link to display page 2. (So that
> there is only one element displaying). The user clicks an action link that
> has the following event handler defined:
> public ListAccount onActionFromDel( Integer prmRId ) {
> _DAO.delByRId(prmRId);
> return( _listAccount );
> }
> (ListAccount is the current page class).
> As the Grid attempts to re-render itself, it calls getAvailableRows() on the
> GridDataSource, and getAvailableRows() correctly returns 2.
> The Grid should automatically go to page 1 since there are only 2 rows
> available and rowsPerPage is set to 2. However, instead, the Grid calls
> prepare() with firstResult = 2 and lastResult = 1. After this, the Grid calls
> getRowValue() with a negative value.
> Note that the problem goes away if I add a line to the event handler:
> public ListAccount onActionFromDel( Integer prmRId ) {
> _DAO.delByRId(prmRId);
> _listAccount._actList.setCurrentPage( 1 ); <------ this line solves
> the problem
> return( _listAccount );
> }
> But I don't believe this should be necessary.
> Thanks,
> Andy
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]