Xpages 如何使用主题在数据源上设置expandLevel?

Xpages 如何使用主题在数据源上设置expandLevel?,xpages,Xpages,我想将所有dominoView数据源的expandLevel设置为1 灵感来源于我正在寻找一种使用主题设置expandLevel的方法 这是否可能使用主题以及如何实现?我当然会听从Tony的建议,但我的印象是,主题在生命周期中评估得太晚,无法影响此特定属性值。如果不是这样,类似于以下内容的内容在理论上可能是有效的: <control> <name>DataTable.ViewPanel</name> <property>

我想将所有dominoView数据源的expandLevel设置为1

灵感来源于我正在寻找一种使用主题设置expandLevel的方法


这是否可能使用主题以及如何实现?

我当然会听从Tony的建议,但我的印象是,主题在生命周期中评估得太晚,无法影响此特定属性值。如果不是这样,类似于以下内容的内容在理论上可能是有效的:

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

DataTable.ViewPanel
数据
扩展级别
#{1}

然而,我怀疑Declan会告诉你,使用PhaseListener或ViewHandler来进行分析将是一种更可行的方法。。。我倾向于同意

蒂姆,这可不行。我也尝试过类似的构造。在我的例子中,数据源位于自定义控件本身,而不是DataTable.ViewPanel上。我假设使用ViewRoot作为控件名应该解决这个问题。我仍然希望Tony(或IBM XPages团队的其他人)能给出正确的答案:-)实际上,ViewRoot只适用于组件树的真正根,而不适用于自定义控件中的xp:view标记。我同意Tim的看法。在渲染响应阶段对主题进行求值。但是,当数据源构建XPage的服务器端映射时,需要在生命周期的早期设置它的expandLevel属性,以便知道需要呈现哪些内容。