我正在尝试根据复选框值通过VisualForce在页面(而不是表单)上显示记录。
例如,如果选中复选框“Active_c”,我想显示五个后续字段。如果未选中复选框“Active_c”,我想不显示任何内容。
我能找到的唯一例子是在输出中显示文本,但是,它们不支持显示多个字段输出。例如:
{! IF ( CONTAINS('salesforce.com','force.com'), 'Yep', 'Nah') }
任何人都有条件的经验吗?
答案 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>