2010-12-22 84 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中做同样的事情。