ICEfaces
  1. ICEfaces
  2. ICE-7367

ace:datatable problem with dynamic paginator and rows attributes

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1-Beta
    • Fix Version/s: 2.1-Beta2, 3.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Tomcat 7.0.12
    • Assignee Priority:
      P1

      Description

      In the poc we have el expressions bound to the 'rows' attribute and the 'paginator' attribute. Above the ace:dataTable is an h:selectBooleanCheckbox that determines whether or not the user wants to use pagination. When they select no pagination, the rows attribute is set to the number of rows in the List bound to the datatable. When pagination is selected, the number of rows is set to the default in the bean.

      If you run the poc and remove pagination, you will see the total number of rows as expected. However, when you paginate and then remove pagination, you will not see the rows updated to the total number of rows in the List, it remains at the default and will not change the number of rows upon further interaction.

        Activity

        Hide
        Nils Lundquist added a comment - - edited

        From my debugging this is likely a state saving / generator behaviour problem.

        getRows(), which should always return the bean value, initially returns the value correctly.

        Following a pagination event or row count change, the component calls setRows() with input from the client.

        After setRows() has been called, calls to getRows() sometimes returns the value from the bean, and other times return the value that the component passed into setRows(), even during the same lifecycle phase.

        The table rendering the old number of rows when they attempt to set bound value of the row count following pagination removal is a product of this.

        Show
        Nils Lundquist added a comment - - edited From my debugging this is likely a state saving / generator behaviour problem. getRows(), which should always return the bean value, initially returns the value correctly. Following a pagination event or row count change, the component calls setRows() with input from the client. After setRows() has been called, calls to getRows() sometimes returns the value from the bean, and other times return the value that the component passed into setRows(), even during the same lifecycle phase. The table rendering the old number of rows when they attempt to set bound value of the row count following pagination removal is a product of this.
        Hide
        Nils Lundquist added a comment -

        Fixed in r25994.

        POC will need to set 'page' to 1 to ensure that disabling pagination on a page other than 1 causes the complete data set rendered to begin at the first row.

        Show
        Nils Lundquist added a comment - Fixed in r25994. POC will need to set 'page' to 1 to ensure that disabling pagination on a page other than 1 causes the complete data set rendered to begin at the first row.
        Hide
        Brad Kroeger added a comment -

        Built from Grimlock this morning, updated the poc and setting page to 1 is not working - removing pagination is now showing all the records from the existing point in pagination, but not starting at the first record.

        I suggest this be handled internally by the component, it does not make a lot of sense to be setting a page when there is no pagination.

        Show
        Brad Kroeger added a comment - Built from Grimlock this morning, updated the poc and setting page to 1 is not working - removing pagination is now showing all the records from the existing point in pagination, but not starting at the first record. I suggest this be handled internally by the component, it does not make a lot of sense to be setting a page when there is no pagination.
        Hide
        Nils Lundquist added a comment -

        Fixed in 26078.
        Resets when pagination state during rendering if pagination is false.

        Show
        Nils Lundquist added a comment - Fixed in 26078. Resets when pagination state during rendering if pagination is false.

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Brad Kroeger
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: