Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.8RC1
-
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>
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
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
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