2012-03-18 2 views

ответ

0

Я, конечно, буду относиться к Тони, но у меня сложилось впечатление, что темы оцениваются слишком поздно на жизненном цикле, чтобы иметь возможность воздействовать на это конкретное значение атрибута. Если бы это было не так, что-то похожее на следующее может теоретически быть действительным:

<control> 
    <name>DataTable.ViewPanel</name> 
    <property> 
     <name>data</name> 
     <complex type="xp_dominoView"> 
      <property> 
       <name>expandLevel</name> 
       <value>#{1}</value> 
      </property> 
     </complex> 
    </property> 
</control> 

Подозреваю, однако, что Деклан бы сказать вам, что с помощью PhaseListener или для обработки просмотров будет более жизнеспособный подход ... и Я склонен согласиться. ;)

+0

Тим, это не совсем так. Я пробовал подобные конструкции. В моем случае источник данных находится в настраиваемом элементе управления, а не в DataTable.ViewPanel. Я предполагаю, что использование ViewRoot в качестве контрольного имени должно позаботиться об этом. Я все еще надеюсь, что Тони (или кто-то другой из команды IBM XPages) прокомментирует правильный ответ :-) –

+0

Фактически, ViewRoot применяется только к истинному корню дерева компонентов, а не к тегу xp: view в пользовательский контроль. –

+1

Я согласен с Тимом. Тема оценивается во время этапа ответа рендера. Но свойство expandLevel вашего источника данных должно быть установлено ранее на жизненном цикле, когда оно создает серверную карту XPage, чтобы узнать, какой контент нужно визуализировать. –

Смежные вопросы