ICEfaces
  1. ICEfaces
  2. ICE-4184

Setting selectInputDate value in dataTable issue

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8RC1
    • Fix Version/s: 1.8RC2, 1.8
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      When a selectInputDate is in a dataTable the only date value that can be set is the last rows. Once this has been set selected the selected date is populated into the other rows date inputs. Also for the other selectInputDate components you can select a date, only the last row is able to be selected. This issue does not occur with 1.7.2 SP1.

      Code to replicate:

      <ice:dataTable value="#{testBean.tableList}"
                                 var="item">
           <ice:column>
                <f:facet name="header">
                     <ice:outputText value="Column One"/>
                </f:facet>
                <ice:outputText value="#{item.itemOne}"/>
           </ice:column>
           <ice:column>
                <f:facet name="header">
                     <ice:outputText value="Date"/>
                </f:facet>
                <ice:selectInputDate renderAsPopup="true"
                                                      value="#{item.date}">
                     <f:convertDateTime pattern="MM/dd/yyyy"
                                                         timeZone="#{testBean.timeZone}"/>
                </ice:selectInputDate>
           </ice:column>
      </ice:dataTable>

        Activity

        Hide
        Mark Collette added a comment -

        This was due to a limitation od UIData derived iterative containers, where they only save EditableValueHolder related state for each row. Any other state needs a ValueBinding to the row object, which isn't possible with internal state. But, ICEfaces iterative containers support arbitrary data state saving per row. SelectInputDate just needed to be modified to opt into this.

        Subversion 18506
        icefaces\component\src\com\icesoft\faces\component\selectinputdate\SelectInputDate.java

        Show
        Mark Collette added a comment - This was due to a limitation od UIData derived iterative containers, where they only save EditableValueHolder related state for each row. Any other state needs a ValueBinding to the row object, which isn't possible with internal state. But, ICEfaces iterative containers support arbitrary data state saving per row. SelectInputDate just needed to be modified to opt into this. Subversion 18506 icefaces\component\src\com\icesoft\faces\component\selectinputdate\SelectInputDate.java

          People

          • Assignee:
            Unassigned
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: