我正在尝试构建一个动态表。
大部分数据都是Outputtext,我可以打印出来。我在阅读用户输入值时遇到困难。下表中有两行需要用户输入。我能够生成两行可以接受来自用户的输入的表,但是无法将这些值传递给Controller,以便在我从用户获取数据后执行操作。
任何人都可以帮我建议从Apex传递值的最佳值:Apex中的Inputtext:重复到控制器吗?
任何建议都会有很大的帮助。
<apex:repeat value="{!tList}" var="tvar" id="t4">
<tr id="slxtableData">
<td>{!tvar.ftypename}</td>
<td><apex:outputText value="{0, number, 00.00}"
rendered="{!NOT(tvar.editable)}"><apex:param value="{!tvar.a}"/></apex:outputText>
<apex:inputText id="ipVar1" value="{!tvar.a}" style="text-align: right;"
rendered="{!tvar.editable}" label="{!tvar.a}"/></td>
<td><apex:outputPanel layout="NONE"
rendered="{!NOT(tvar.editable)}">{!tvar.b}</apex:outputPanel>
<apex:inputText id="ipVar2" value="{!tvar.b}" style="text-align: right;"
rendered="{!tvar.editable}" label="{!tvar.b}"/></td>
<td><apex:outputPanel layout="NONE"
rendered="{!NOT(tvar.editable)}">{!tvar.c}</apex:outputPanel>
<apex:inputText id="ipVar3" value="{!tvar.c}" style="text-align: right;"
rendered="{!tvar.editable}" label="{!tvar.c}"/></td>
<td><apex:outputPanel layout="NONE"
rendered="{!NOT(tvar.editable)}">{!tvar.d}</apex:outputPanel>
<apex:inputText id="ipVar4" value="{!tvar.d}" style="text-align: right;"
rendered="{!tvar.editable}" label="{!tvar.d}"/></td>
</tr>
</apex:repeat>
答案 0 :(得分:1)
您需要在<apex:form>
附近放置<apex:repeat>
。
您的代码将如下所示:
<apex:form>
<apex:repeat value="{!tList}" var="tvar" id="t4">
<tr id="slxtableData">
<td>{!tvar.ftypename}</td>
<td><apex:outputText value="{0, number, 00.00}"
rendered="{!NOT(tvar.editable)}"><apex:param value="{!tvar.a}"/></apex:outputText>
<apex:inputText id="ipVar1" value="{!tvar.a}" style="text-align: right;"
rendered="{!tvar.editable}" label="{!tvar.a}"/></td>
<td><apex:outputPanel layout="NONE"
rendered="{!NOT(tvar.editable)}">{!tvar.b}</apex:outputPanel>
<apex:inputText id="ipVar2" value="{!tvar.b}" style="text-align: right;"
rendered="{!tvar.editable}" label="{!tvar.b}"/></td>
<td><apex:outputPanel layout="NONE"
rendered="{!NOT(tvar.editable)}">{!tvar.c}</apex:outputPanel>
<apex:inputText id="ipVar3" value="{!tvar.c}" style="text-align: right;"
rendered="{!tvar.editable}" label="{!tvar.c}"/></td>
<td><apex:outputPanel layout="NONE"
rendered="{!NOT(tvar.editable)}">{!tvar.d}</apex:outputPanel>
<apex:inputText id="ipVar4" value="{!tvar.d}" style="text-align: right;"
rendered="{!tvar.editable}" label="{!tvar.d}"/></td>
</tr>
</apex:repeat>
</apex:form>