简体   繁体   English

尝试捕获Apex中的Apex:InputText重复

[英]Trying to capture Apex:InputText within Apex repeat

I am trying construct a dynamic table. 我正在尝试构造一个动态表。

Most of the data is Outputtext and I am able to print that. 大多数数据是Outputtext,我可以打印出来。 I am facing difficulty in reading user input values. 我在读取用户输入值时遇到困难。 There are two rows in the below table that require input from users. 下表中有两行需要用户输入。 I am able to generate table with two rows that can accept input from users, but unable to pass those value to Controller in order to perform operations once I get the data from users. 我能够生成具有两行的表,该表可以接受来自用户的输入,但是一旦我从用户获得数据,就无法将这些值传递给Controller以便执行操作。

Can anyone help me suggesting the best value to pass values from Apex:Inputtext within Apex:repeat to controller? 谁能帮我建议最好的值,以将Apex:repeat中的Apex:Inputtext的值传递给控制器​​?

Any suggestion would be a great help. 任何建议都会有很大帮助。

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

You need to put a <apex:form> around the <apex:repeat> . 您需要在<apex:repeat>周围放置一个<apex:form> <apex:repeat>

Your code then would look like this: 您的代码将如下所示:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM