Как динамически установить атрибут 'mode' для apex: pageBlock в Salesforce Visualforce? - PullRequest
0 голосов
/ 17 июня 2011

На моей странице Visualforce есть следующее:

<apex:pageBlock mode="{!pageBlockMode}">
</apex:pageBlock>

И пользовательское расширение с этим апекс-кодом:

public string pageBlockMode 
{ 
    get { return 'edit'; } 
}

Кто-нибудь знает, почему это не работает? По умолчанию это просто режим детализации. Есть ли способ динамического изменения атрибута mode для блока страниц?

Ответы [ 4 ]

1 голос
/ 26 апреля 2013

Похоже, мой оригинальный код работает сейчас. Не уверен, в какой версии Visualforce это было исправлено / изменено:

Страница:

<apex:pageBlock mode="{!pageBlockMode}">
</apex:pageBlock>

Контроллер:

public string pageBlockMode 
{ 
    get { return 'edit'; } 
}
1 голос
/ 21 июня 2011

Исходя из вышеприведенного комментария, почему бы не попробовать создать два разных раздела блока страницы с атрибутом RENDERED

<apex:pageBlock mode="edit" rendered="{!pageBlockMode=='edit'}">
.....
</apex:pageBlock>

<apex:pageBlock mode="detail" rendered="{!pageBlockMode=='detail'}">
.....
</apex:pageBlock>
1 голос
/ 20 июня 2011

Надеюсь, вы знаете, что MODE представляет пользовательский режим по умолчанию для дочерних элементов компонента pageBlock. Это значение определяет, будут ли нарисованы линии, разделяющие значения полей. Возможные значения: «деталь», в которой данные отображаются пользователю с помощью цветных линий; «maindetail», в котором данные отображаются пользователю с цветными линиями и белым фоном, как главная страница сведений для записей; а также «редактировать», при котором данные отображаются пользователю без строк поля. Если не указано, по умолчанию используется значение «detail». Эти строки не имеют ничего общего с необходимостью, они просто визуальные разделители, которые облегчают сканирование страницы с подробностями.

0 голосов
/ 19 июля 2012

Я думаю, что это может помочь вам! У меня это сработало!

public Component.Apex.PageBlock getPageBlockArea(){
     Component.Apex.PageBlock p = new Component.Apex.PageBlock();
     p.title = 'Working';
     p.mode = 'edit';
     return p;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...