1

有没有办法在 XPages Mobile Controls 中包含的 dataView 控件中显示包含响应文档的视图?似乎没有办法为响应文档设置不同的列名或展开/折叠响应文档。

4

2 回答 2

0

这不是移动数据视图中可用的东西。一种可能的解决方法是使用重复构建自己的东西。与此同时,我们将收回这一点,并将考虑在未来将其构建到移动数据视图中。

于 2013-05-03T10:02:17.960 回答
0

答案是:

1)构建我自己的围绕数据视图的控件。反正我有这个。

2) 根据需要传递自定义属性,包括用于 responseColumn 的新属性。

3)不要使用summaryColumn,而是使用summary facet

4) 将代码放置在具有

rendered="#{javascript:viewEntry.getColumnIndentLevel()==0 || !compositeData.responseColumn}">

5) 将代码放置在一个控件内以显示响应列,该控件具有

rendered="#{javascript:!(viewEntry.getColumnIndentLevel()==0 || !compositeData.responseColumn)}">

示例(这里我支持多个汇总列和一个响应列):

<xp:this.facets>
    <xp:div xp:key="summary">
        <xp:repeat value="#{compositeData.summaryColumns}" indexVar="summaryIndex"
            rendered="#{javascript:viewEntry.getColumnIndentLevel()==0 || !compositeData.responseColumn}">
                <xp:div style="float:left;margin-right:5px;">
                <xp:text>
                    <xp:this.value><![CDATA[#{javascript:try {viewEntry.getColumnValue(compositeData.summaryColumns[summaryIndex])} catch(e) {return ""};}]]></xp:this.value>
                </xp:text>
            </xp:div>
        </xp:repeat>
        <xp:text rendered="#{javascript:!(viewEntry.getColumnIndentLevel()==0 || !compositeData.responseColumn)}">
            <xp:this.value><![CDATA[#{javascript:try {return viewEntry.getColumnValue(compositeData.responseColumn)} catch(e) {return ""};}]]></xp:this.value>
        </xp:text>
    </xp:div>
</xp:this.facets>
于 2013-05-18T00:35:33.173 回答