ICEfaces
  1. ICEfaces
  2. ICE-3156

boolean row value in table with <ice:rowSelector> is updated while it shouldn't.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: 1.7
    • Fix Version/s: None
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      JSF 1.2

      Description

      I have a simple table with an <ice:rowSelector>. Each table row has a String value and a boolean value. When clicking a row in the table, the boolean value is updated unexpectedly (with a wrong value), while it shouldn't be updated at all as there is no Update Model Values phase to be expected (only a selection event). The String value is not updated (as expected).

      See attached bean code, page and configuration files. As far as I can see this fails consistently on any boolean in a table with a RowSelector.

        Issue Links

          Activity

          Hide
          Paul van Rossem added a comment -

          Probably not a bug. Calling resetValue() on all inputs from the rowselector callback removes the problem.

          Show
          Paul van Rossem added a comment - Probably not a bug. Calling resetValue() on all inputs from the rowselector callback removes the problem.
          Hide
          Thomas Greve added a comment -

          There seems to be another bug related to RowSelectorEvents:

          Whenever model values are updated in the course of processing a RowSelectorEvent, an additional ValueChangeEvent is triggered afterwards. This behaviour deviates from the behaviour of an immediate ActionEvent doing the same, e.g.:

          <ice:column>
          <ice:commandLink value="#

          {row.someValue}" actionListener="#{row.selectMe}" immediate="true" />
          </ice:column>

          vs.

          <ice:column>
          <ice:rowSelector value="#{row.selected}" selectionListener="#{row.selectMe}" />
          <ice:outputText value="#{row.someValue}

          " />
          </ice:column>

          If this ValueChangeEvent were not fired, there would still be the issue of handling an immediate event, but the values would not be overwritten.

          Show
          Thomas Greve added a comment - There seems to be another bug related to RowSelectorEvents: Whenever model values are updated in the course of processing a RowSelectorEvent, an additional ValueChangeEvent is triggered afterwards. This behaviour deviates from the behaviour of an immediate ActionEvent doing the same, e.g.: <ice:column> <ice:commandLink value="# {row.someValue}" actionListener="#{row.selectMe}" immediate="true" /> </ice:column> vs. <ice:column> <ice:rowSelector value="#{row.selected}" selectionListener="#{row.selectMe}" /> <ice:outputText value="#{row.someValue} " /> </ice:column> If this ValueChangeEvent were not fired, there would still be the issue of handling an immediate event, but the values would not be overwritten.
          Hide
          Ken Fyten added a comment -

          Marking as Closed / Invalid as part of legacy ICEfaces ICE / Compat component JIRA cleanup.

          Note: This issue may be resolved in a newer ICEfaces release, available here: http://www.icesoft.org/java/downloads/icefaces-downloads.jsf

          If the issue persists with the current ICEfaces release, please create a new JIRA for it.

          Show
          Ken Fyten added a comment - Marking as Closed / Invalid as part of legacy ICEfaces ICE / Compat component JIRA cleanup. Note: This issue may be resolved in a newer ICEfaces release, available here: http://www.icesoft.org/java/downloads/icefaces-downloads.jsf If the issue persists with the current ICEfaces release, please create a new JIRA for it.

            People

            • Assignee:
              Unassigned
              Reporter:
              Paul van Rossem
            • Votes:
              3 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: