2012-10-02 91 views
0

我想通過基於複選框值的VisualForce在頁面上顯示記錄(不是表單)。Visualforce中的條件語句?

例如,如果複選框「Active_c」被選中,我想顯示五個後續字段。如果複選框「Active_c」未選中,我想不顯示任何內容。

我能找到的唯一例子是在輸出中顯示文本,但是它們不支持顯示多個字段輸出。例如:

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

任何人都有經驗的條件?

+0

您能提供更多詳細信息。我不明白你有什麼,你有什麼。 –

回答

1

的Apex控制器:

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> 

又如。無需重新編輯,只需檢查運行時複選框的值:

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

Sicco,感謝您的幫助。試圖在VisualForce電子郵件中運行這個,我似乎無法讓它工作。 我嘗試了第二個選項(沒有reRendering),但它拋出了以下錯誤:「嘗試加載模板以進行預覽時發生錯誤:的值不是動態綁定!請嘗試編輯標記以糾正問題「 根據第一個選項,我在哪裏設置Apex控制器?我是VF的新手。很多道歉。 – user1714433

+0

你可以在這裏發佈你的visualforce頁面或一些代碼片段嗎? – mast0r

+0

嗨Sicco我很想知道是否可以在渲染部分的VisualForce頁面的控制器中放置一個布爾字段,並讓它跑掉。當我嘗試這樣做時,我目前收到了一個錯誤,但我不確定是否是這種情況。 – Chris