2010-08-26 34 views
1

我冰:dataTable的样子如下: -充分利用冰列值:在另一列的验证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,这意味着我将不得不遍历validator方法中的“someBean.someList”以查找该条目的值。

+0

如果您正在寻找在此问题你也应该看看这种相关的问题http://stackoverflow.com/questions/2766287/how-to-map-icefaces-icese lectinputdate-component-on-a-java-util-calendar-field – CoolBeans 2010-08-26 23:21:39

回答

1

首先第一输入豆绑定:

<ice:selectInputDate id="startCal" binding="#{someBean.startCalComponent}" ... > 

与此属性:

private UIInput startCalComponent; // +getter+setter 

然后,在你SomeBean#validateEndtime()方法做:

Date startTime = (Date) startCalComponent.getValue(); 
+0

Awesome BalusC。我在getValue()上得到一个classCastException,但我可以很容易地解决这个问题。非常感谢! – CoolBeans 2010-08-26 21:08:49

+0

不客气。我不会做IceFaces,所以我不知道'selectInputDate'的期望值。我只是简单地认为它是'java.util.Date'。 – BalusC 2010-08-26 21:19:07

+0

是的,这是我在iceFaces上的第二次尝试,所以我自己是新手。它有其优点和缺点。 – CoolBeans 2010-08-26 21:25:11