
|
If you were logged in you would be able to see more operations.
|
|
|
|
Original Estimate:
|
Unknown
|
Remaining Estimate:
|
Unknown
|
Time Spent:
|
Unknown
|
|
Issue Links:
|
Duplicate
|
|
|
|
This issue is duplicated by:
|
|
RF-1048
datascroller: improvement in scroller...
|
|
|
|
|
|
| Affects: |
Documentation (Ref Guide, User Guide, etc.)
|
|
Sub-Tasks:
|
All
|
Open
|
|
| Sub-Task Progress: |
|
|
|
When the datamodel for a rich:dataTable is replaced with a new model the rich:datascroller still remembers its old page index.
Now, in order to make it work, I have to look up the UIData and set the index to 0 when I change the datamodel.
I would expect it to either be set to 0, or to the value of "first" attribute in the rich:dataTable when its model is changed.
This problem is blocking me from releasing my application - I have *many* affected datascrollers and doing the following for all of them would not be fun...
// how I reset the first value - perhaps there are beter ways to do this
String id = "spaceForm:content_list";
UIComponent comp = FacesContext.getCurrentInstance().getViewRoot().findComponent( id );
if(comp == null)
throw new IllegalArgumentException("Can not find component with id = '"+id+"'");
if(!(comp instanceof UIData))
throw new IllegalArgumentException("Id does not refer to a UIData instance");
UIData uidata = (UIData)comp;
uidata.setFirst(0);
|
|
Description
|
When the datamodel for a rich:dataTable is replaced with a new model the rich:datascroller still remembers its old page index.
Now, in order to make it work, I have to look up the UIData and set the index to 0 when I change the datamodel.
I would expect it to either be set to 0, or to the value of "first" attribute in the rich:dataTable when its model is changed.
This problem is blocking me from releasing my application - I have *many* affected datascrollers and doing the following for all of them would not be fun...
// how I reset the first value - perhaps there are beter ways to do this
String id = "spaceForm:content_list";
UIComponent comp = FacesContext.getCurrentInstance().getViewRoot().findComponent( id );
if(comp == null)
throw new IllegalArgumentException("Can not find component with id = '"+id+"'");
if(!(comp instanceof UIData))
throw new IllegalArgumentException("Id does not refer to a UIData instance");
UIData uidata = (UIData)comp;
uidata.setFirst(0);
|
Show » |
|
|
As a variant I can suggest to implement PhaseListener so that it will traverse and reset all UIData instances in view before render_response phase using the follwoing reset criteria: "first" value is larger than a number of rows.