ICEfaces
  1. ICEfaces
  2. ICE-8610

ice:outputFormat displays incorrect information when above table

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-1.8.2.GA_P04
    • Fix Version/s: EE-1.8.2.GA_P05
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Chrome, FF, IE9, Tomcat 7.0.17, JBoss 7.1
    • Assignee Priority:
      P2

      Description


      If ice:dataTable is tied to a backing bean value that may be reduced via a type ahead filter and place a paginator element at the bottom of the table with a text like "Page X/X. Display rows 5-10 of 50" it will always display the correct information. But, if you put the same ice:outputFormat at the top of the table, then select a page past page one, then type something in the filter in order to reduce the number of rows per page, the text will get mangled like "Page 1/1. Display rows -19 from 31-11".

      To reproduce:
      1. Deploy sample source code.
      2. Go to http://localhost:8080/ICEfacesEE-1.8.2-P04/case11634.iface
      3. Switch to the last page
      4. Click on 'Filter' button

        Activity

        Hide
        Arturo Zambrano added a comment - - edited

        Committed fix to the trunk at revision 31249.
        The problem is that the associated data table is returning and incorrect value for getFirst(), i.e. the index of the first row being displayed. This is because, in JSF 1.2 this value is not automatically updated when the data object is modified dynamically. Fortunately, the ICE extension of HtmlDataTable has a method to ensure that the first row is within range. It is just necessary to call it when the paginator begins its rendering phase. This fix is not applicable to a plain h:dataTable, since it doesn't have a similar method.

        Show
        Arturo Zambrano added a comment - - edited Committed fix to the trunk at revision 31249. The problem is that the associated data table is returning and incorrect value for getFirst(), i.e. the index of the first row being displayed. This is because, in JSF 1.2 this value is not automatically updated when the data object is modified dynamically. Fortunately, the ICE extension of HtmlDataTable has a method to ensure that the first row is within range. It is just necessary to call it when the paginator begins its rendering phase. This fix is not applicable to a plain h:dataTable, since it doesn't have a similar method.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Evgheni Sadovoi
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: