我的冰:dataTable如下所示: -
<ice:dataTable id="someTbl" var="someVar" value="#{someBean.someList}" >
<ice:column>
<f:facet name="header"> <ice:outputText value="#{msgs.tblCol1}"> </f:facet>
<ice:outputText value="#{someVar.name}"/>
</ice:column>
<ice:column>
<f:facet name="header"> <ice:outputText value="#{msgs.tblCol2}"> </f:facet>
<ice:selectInputDate id="startCal" value="#{someVar.startTime}"
renderAsPopup="true" renderYearAsDropdown="true"
renderMonthAsDropdown="true" partialSubmit="true" >
<f:convertDateTime pattern="MM/dd/yyyy HH:mm" type="date" timeZone="EST"/>
</ice:selectInputDate>
</ice:column>
<ice:column>
<f:facet name="header"> <ice:outputText value="#{msgs.tblCol3}"> </f:facet>
<ice:selectInputDate id="endCal" value="#{someVar.endTime}"
renderAsPopup="true" renderYearAsDropdown="true"
renderMonthAsDropdown="true" partialSubmit="true" validator="#{someBean.validateEndtime}">
<f:convertDateTime pattern="MM/dd/yyyy HH:mm" type="date" timeZone="EST"/>
</ice:selectInputDate>
</ice:column>
</ice:dataTable>
当调用行上第二个日历(id“endCal”)上的验证器时,我想获得我的支持bean中该行的第一个日历(id“startCal”)的值。有办法实现吗?我想知道ice:rowSelector但是我注意到我只能得到所选的rowId,这意味着我将不得不遍历验证器方法中的“someBean.someList”来查找该条目的值。
答案 0 :(得分:1)
首先将第一个输入绑定到bean:
<ice:selectInputDate id="startCal" binding="#{someBean.startCalComponent}" ... >
使用此属性:
private UIInput startCalComponent; // +getter+setter
然后,在您的SomeBean#validateEndtime()
方法中执行:
Date startTime = (Date) startCalComponent.getValue();