изменение атрибутов тега APEX с контроллера?

Я хочу знать, могу ли я изменить атрибуты тега 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;
        }

надеюсь, это поможет!


person c14kaa    schedule 22.12.2010    source источник


Ответы (2)


Синтаксис для полей слияния (вещи в скобках {!...}) такой же, как и для правил проверки, полей формул, условий запуска рабочего процесса и т. д. Таким образом, вы можете использовать такие функции, как TODAY(), а также более сложную логику.

Итак, я думаю, что если на вашей странице виден объект "inc", то что-то вроде

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

должен сделать трюк. Если вы используете стандартный контроллер, замените «inc» на имя sObject (например, «Case»).

person eyescream    schedule 22.12.2010

Я пришел в Visualforce из среды .NET, где вы могли изменить страницу с контроллера (или тем самым создать части страницы с контроллера), поэтому я понимаю ваш вопрос...

К сожалению, вы не можете сделать то же самое в Visualforce.

person Andres Perez    schedule 30.12.2010