从控制器更改Apex标签属性?
-
12-10-2019 - |
题
我想知道是否可以从控制器更改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中不能做同样的事情。
不隶属于 StackOverflow