试图捕捉Apex中的Apex:InputText重复

时间:2016-08-09 23:01:10

标签: salesforce apex-code visualforce apex force.com

我正在尝试构建一个动态表。

大部分数据都是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>

1 个答案:

答案 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>