我想知道是否可以从控制器更改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;
        }

希望有帮助!

有帮助吗?

解决方案

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

因此,我认为如果您的页面上可见“ Inc”对象,那么

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

应该做到这一点。如果使用标准控制器,则将“ Inc”替换为Sobject名称(例如“案例”)。

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top