0
我试图实现一个richfaces数据表。 每行都有一个richfaces日历,两个richfaces自动完成和3个输入文本。致富自动完成值
我有另一种形式的命令按钮。 当我在数据表中的给定行输入一些值:
- 显示有效日期
- 两个autocpmpletes做工精细到从bean检索数据选择
- 我在输入输入值文本
但是,当我点击“计算”按钮 只有文本输入发送回支持豆。
这是迄今为止我想出了(这是我的XHTML文件的简化版本)
<h:body>
<rich:panel>
<h:form id="legForm">
<rich:dataTable value="#{bean.legsForDisplay}" var="legForDisplay">
<rich:column>
<f:facet name="header">
<h:outputText value="Departure Date (UTC)" />
</f:facet>
<rich:calendar value="#{legForDisplay.departureTime}"
locale="#{bean.locale}" popup="true"
datePattern="#{legForDisplay.datePattern}"
converter="dateConverter" inputStyle="width:80px">
<f:ajax event="change" execute="@this"/>
</rich:calendar>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="ETD (HHmm)" />
</f:facet>
<h:inputText value="#{legForDisplay.etd}" style="width : 30px;">
<f:ajax event="change" execute="@this"/>
</h:inputText>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="ADEP" />
</f:facet>
<rich:autocomplete mode="cachedAjax" minChars="2"
autocompleteMethod="#{bean.autocomplete}"
autofill="false" value="#{legForDisplay.adep}">
<f:ajax event="change" execute="@this"/>
</rich:autocomplete>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="ADES" />
</f:facet>
<rich:autocomplete mode="cachedAjax" minChars="2"
autocompleteMethod="#{bean.autocomplete}"
autofill="false" value="#{legForDisplay.ades}">
<f:ajax event="change" execute="@this"/>
</rich:autocomplete>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Male Pax" />
</f:facet>
<h:inputText value="#{legForDisplay.malePax}">
<f:ajax />
</h:inputText>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Female Pax" />
</f:facet>
<h:inputText value="#{legForDisplay.femalePax}">
<f:ajax />
</h:inputText>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Child Pax" />
</f:facet>
<h:inputText value="#{legForDisplay.childPax}">
<f:ajax />
</h:inputText>
</rich:column>
</rich:dataTable>
</h:form>
</rich:panel>
<rich:panel>
<h:form>
<a4j:commandButton value="Compute Mission"
action="#{bean.doStuff}"
render="@form">
</a4j:commandButton>
</h:form>
</rich:panel>
</h:body>
如何设置从日历/自动完成组件的值转换成相应的legForDisplay
元素从legsForDisplay
列表?
我试着阅读关于这个问题的所有相关问题,但找不到一个解决这个问题,这似乎相当基本的...
感谢
编辑:
如果在富数据表中放置一个虚拟提交按钮,一切正常。我可以按下这个虚拟按钮,然后“计算任务”和值已经存储在bean中。
<a4j:commandButton value="Submit"
action="#{missionHandler.dummySubmit}" limitRender="true"
render="legTable">
</a4j:commandButton>
我担心的是,我想从“计算任务”按钮,该按钮位于另一面板,另一种形式提交,无需点击“虚拟按钮”之首。
我封装在一个大单的一切。它可以工作,因为当我按下“计算”按钮时,会提交BIG表单,并检索值。不知道这是最好的事情。 – facewindu 2013-03-11 08:11:05