1

我想知道是否可以从控制器更改 Apex VisualForce 标签属性。

我可以做这样的事情吗?:

标签:

 <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;
        }

希望有帮助!

4

2 回答 2

2

合并字段({!...}括号中的内容)的语法与验证规则、公式字段、工作流触发条件等相同。因此您可以使用类似的函数TODAY()以及一些更复杂的逻辑。

所以我认为如果“inc”对象在您的页面上可见,那么类似

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

应该做的伎俩。如果您使用标准控制器,则将“inc”替换为 sObject 名称(如“Case”)。

于 2010-12-22T18:00:59.060 回答
0

我从 .NET 环境来到 Visualforce,您可以在其中从控制器更改页面(或通过这种方式从控制器创建页面的一部分),所以我理解您的问题......

不幸的是,您不能在 Visualforce 中做同样的事情。

于 2010-12-30T15:15:46.823 回答