Visualforce中的条件语句?

时间:2012-10-02 13:30:19

标签: if-statement salesforce conditional visualforce

我正在尝试根据复选框值通过VisualForce在页面(而不是表单)上显示记录。

例如,如果选中复选框“Active_c”,我想显示五个后续字段。如果未选中复选框“Active_c”,我想不显示任何内容。

我能找到的唯一例子是在输出中显示文本,但是,它们不支持显示多个字段输出。例如:

{! IF ( CONTAINS('salesforce.com','force.com'), 'Yep', 'Nah') }

任何人都有条件的经验吗?

1 个答案:

答案 0 :(得分:1)

Apex Controller:

public YourObject__c YourObject { get; set; }

public YourClass(){
    YourObject = [ Select Active__c, Field1__c, Field2__c From YourObject__c Limit 1 ];
}

Visualforce页面:

<apex:actionFunction name="showHideFields" reRender="myFields" />

<apex:inputField value="{!YourObject.Active_c}" onChange="showHideFields()"/>

<apex:outputPanel id="myFields">
    <apex:outputPanel rendered="{!YourObject.Active_c}">
        <apex:outputField value="YourObject.Field1__c" />
        <apex:outputField value="YourObject.Field2__c" />
    </apex:outputPanel>
</apex:outputPanel>

另一个例子。如果没有reRendering,只需检查运行时复选框的值:

<apex:outputPanel>
    <apex:outputField value="YourObject.Field1__c" rendered="{!YourObject.Active_c}" />
    <apex:outputField value="YourObject.Field2__c" rendered="{!YourObject.Active_c}" />
</apex:outputPanel>