尝试在 Apex 重复中捕获 Apex:InputText
Trying to capture Apex:InputText within Apex repeat
我正在尝试构建动态 table。
大部分数据是 Outputtext,我可以打印出来。我在读取用户输入值时遇到困难。下面 table 中有两行需要用户输入。我能够生成 table 两行可以接受用户的输入,但无法将这些值传递给 Controller 以便在我从用户那里获取数据后执行操作。
任何人都可以帮我建议将 Apex:repeat 内的 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>
您需要在 <apex:repeat>
周围加上 <apex:form>
。
您的代码将如下所示:
<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>
我正在尝试构建动态 table。
大部分数据是 Outputtext,我可以打印出来。我在读取用户输入值时遇到困难。下面 table 中有两行需要用户输入。我能够生成 table 两行可以接受用户的输入,但无法将这些值传递给 Controller 以便在我从用户那里获取数据后执行操作。
任何人都可以帮我建议将 Apex:repeat 内的 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>
您需要在 <apex:repeat>
周围加上 <apex:form>
。
您的代码将如下所示:
<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>