ICEfaces
  1. ICEfaces
  2. ICE-7853

ace:dataTable - Columns become misasligned when turning off pagination on a scrollable table

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 3.0.1, EE-3.0.0.GA
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Firefox, IE8, IE9
    • Workaround Exists:
      Yes
    • Workaround Description:
      Use a value binding for the page attribute and manually set the page to the first page (1).

      Description

      An ace:dataTable is set to be scrollable and do pagination. The paginator can be toggled on and off. If a user navigates to the any page other than the first one and then turns pagination off, the columns become misaligned. If pagination is then turned on, the columns become aligned. If the page is set to the first page and pagination is turned off then the columns stay aligned.

        Activity

        Hide
        Arran Mccullough added a comment - - edited

        Test case that shows issue. Steps:

        • Load noHeaderGroup.jsf
        • Click on Toggle Pagination button.
        • Select the second page.
        • Click on Toggle Pagination button to turn off pagination.
        • Columns are now misaligned.
        Show
        Arran Mccullough added a comment - - edited Test case that shows issue. Steps: Load noHeaderGroup.jsf Click on Toggle Pagination button. Select the second page. Click on Toggle Pagination button to turn off pagination. Columns are now misaligned.
        Hide
        Nils Lundquist added a comment -

        The commit I made regarding this issue assumed they were setting the pagination via table.setPaginator rather than by altering the value binding.

        My changing the setter is fruitless as it is never called when the value binding is changed. The alternative, other than working around this at the app level, is to fix the underlying issue, or alter the getter for the 'paginator' boolean. Altering the getter is easier but would disable anyone from moving the 'first' row of the data model by any means other than our paginator..

        Show
        Nils Lundquist added a comment - The commit I made regarding this issue assumed they were setting the pagination via table.setPaginator rather than by altering the value binding. My changing the setter is fruitless as it is never called when the value binding is changed. The alternative, other than working around this at the app level, is to fix the underlying issue, or alter the getter for the 'paginator' boolean. Altering the getter is easier but would disable anyone from moving the 'first' row of the data model by any means other than our paginator..
        Hide
        Nils Lundquist added a comment -

        This has to do with an interaction of scolling resizing javascript and render logic to determine the first row of the datatable interacting with pagination.

        Show
        Nils Lundquist added a comment - This has to do with an interaction of scolling resizing javascript and render logic to determine the first row of the datatable interacting with pagination.
        Hide
        Nils Lundquist added a comment -

        Revision #28178
        Committed by nils.lundquist
        Yesterday 7:21 PM
        ICE-7853 - Changed first row calculation to handle case where pagination is disabled without resetting the page variable.

        Show
        Nils Lundquist added a comment - Revision #28178 Committed by nils.lundquist Yesterday 7:21 PM ICE-7853 - Changed first row calculation to handle case where pagination is disabled without resetting the page variable.

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: