ICEfaces
  1. ICEfaces
  2. ICE-9109

ace:dataTable - Scrollable dataTable columns become misaligned on row selection

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.2, EE-3.2.0.GA, 3.3
    • Fix Version/s: EE-3.3.0.GA, 4.0.BETA, 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      An ace:dataTable is set to be scrollable, has row selection enabled, and has pagination set. With this setup there are a few sceanrios that cause the columns to become misaligned when the first row is selected.

      Scenario #1 Steps:
       - Load dataTable with data.
       - Select the first row.
       - Click the button to reload this data. Columns become misaligned.

      Scenario #2 Steps:
       - Load table with data.
       - Navigate to the second page via the paginator.
       - Select the first row, columns become misaligned.

      This seems to be related to the update when the row is selected. It also doesn't seem to matter if the ace:ajax tag is used or the rowSelectListener/rowUnselectListener methods are used.

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached test case to reproduce issue with.

        Show
        Arran Mccullough added a comment - Attached test case to reproduce issue with.
        Hide
        Nils Lundquist added a comment -

        This is due to an update overwriting specifically the first row - where the column widths are written - without rerunning column sizing logic.

        Other rows are not susceptible.

        Show
        Nils Lundquist added a comment - This is due to an update overwriting specifically the first row - where the column widths are written - without rerunning column sizing logic. Other rows are not susceptible.
        Hide
        Nils Lundquist added a comment -

        This has not been an issue as scrollable + pagination is an atypical use case.

        Scrollable + selection of the very first (of all data - not page) row causes a callback that resizes following it. The issue is being displayed here because the button doesn't have the same behaviour.

        The solution is to use a dynamic stylesheet to fix column widths which adds overhead and requires a large amount of rewriting.

        Show
        Nils Lundquist added a comment - This has not been an issue as scrollable + pagination is an atypical use case. Scrollable + selection of the very first (of all data - not page) row causes a callback that resizes following it. The issue is being displayed here because the button doesn't have the same behaviour. The solution is to use a dynamic stylesheet to fix column widths which adds overhead and requires a large amount of rewriting.
        Hide
        Nils Lundquist added a comment -

        Revision #35580
        Committed by nils.lundquist
        2 minutes ago
        ICE-9109 - Converted scrollable ace:dataTable body row sizing to use dynamic stylesheet rather than first row inline sizes. Also prevented prototype extension from overwriting existing native implementations. This is preferable for performance and consistency reasons but may cause regressions due to expectations of our overwritten behaviour.

        Show
        Nils Lundquist added a comment - Revision #35580 Committed by nils.lundquist 2 minutes ago ICE-9109 - Converted scrollable ace:dataTable body row sizing to use dynamic stylesheet rather than first row inline sizes. Also prevented prototype extension from overwriting existing native implementations. This is preferable for performance and consistency reasons but may cause regressions due to expectations of our overwritten behaviour.
        Hide
        Nils Lundquist added a comment -

        Commits intended for this JIRA were added to ICE-9109 - #35642 & #35636

        Show
        Nils Lundquist added a comment - Commits intended for this JIRA were added to ICE-9109 - #35642 & #35636

          People

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

            Dates

            • Created:
              Updated:
              Resolved: