2010-12-22 80 views
1

我想知道是否可以從控制器更改Apex VisualForce標籤屬性。從控制器更改APEX標籤屬性?

我可以做這樣的事情?:

標籤:

<apex:selectList id="Status" value="blah blah" multiselect="false" size="1"> 

控制器:

if (inc.Status__c == 'Closed'){ 
    Status.Rendered = false 
} 

希望是有道理的!

我現在做這個,我認爲這是一個有點長篇大論,並希望避免:

標籤

<apex:selectList id="Status" value="blah blah" rendered="{!IncidentIsClosed}"> 
控制器

if (inc.Status__c == 'Closed'){ 
    IncidentIsClosed = false; 
    } 

    .... 

    public Boolean getIncidentIsClosed() { 
      return IncidentIsClosed; 
     } 

希望幫助!

回答

2

合併字段的語法(在{!...}括號中的內容)與驗證規則,公式字段,工作流程觸發條件等相同。因此,您可以使用TODAY()之類的函數以及一些更復雜的邏輯。

所以我認爲,如果「公司」的對象是可見的網頁上,然後像

...rendered="{!not(inc.Status='Closed')} 

應該做的伎倆。如果您使用標準控制器,則用sObject名稱替換「inc」(如「Case」)。

0

我來到Visualforce從.NET環境中,你可以在網頁從控制器改變(或由這意味着創建一個從控制器頁面的部分),所以我明白你的問題......

不幸的是,你不能在Visualforce中做同樣的事情。