Xpages Extlib dataView控件集" display:none;"列具有空值

时间:2016-01-22 14:25:35

标签: xpages lotus-notes lotus-domino lotus xpages-extlib

我有一个带有Extension Library DataView控件的xpage。我在那里定义了几个额外的列。

<xe:dataView id="dataView1"         
    <xe:this.data>
        <xp:dominoView var="vMyView" />
    </xe:this.data>

    <xe:this.summaryColumn>
        <xe:viewSummaryColumn columnName="$DateFrom"
            columnTitle="Date From">
        </xe:viewSummaryColumn>
    </xe:this.summaryColumn>

    <xe:this.extraColumns>
        <xe:viewExtraColumn columnName="$DateTo"
            styleClass="hidden-xs" headerStyleClass="hidden-xs" columnTitle="Date To"
            style="hidden-xs">
        </xe:viewExtraColumn>
        <xe:viewExtraColumn columnName="$Information"
            columnTitle="Information">
        </xe:viewExtraColumn>           
    </xe:this.extraColumns>
</xe:dataView>

我的视图数据源包含信息为空的相同单元格。这些单元格使用style =&#34; display:none;&#34;进行渲染。

如何避免此属性并显示那些空单元格?我不想更改视图以填充空单元格,即&#34; - &# 34;炭

2 个答案:

答案 0 :(得分:2)

使用style="display:none;"呈现空列值:

enter image description here

如果您将自定义转换器添加到列定义并用空格替换空值,则可以避免这种情况:

<xe:viewExtraColumn columnName="$Information"
    columnTitle="Information">
    <xe:this.converter>
        <xp:customConverter>
            <xp:this.getAsString><![CDATA[#{javascript:value == "" ? " " : value}]]></xp:this.getAsString>
            <xp:this.getAsObject><![CDATA[#{javascript:value}]]></xp:this.getAsObject>
        </xp:customConverter>
    </xe:this.converter>
</xe:viewExtraColumn>

它被渲染到没有display:none的“普通”网格单元格,然后:

enter image description here

只要单元格不可编辑,getAsObject的代码就无关紧要了。所以可以保留原样。

答案 1 :(得分:0)

您可以调整css,而不是使用转换器来“伪造”某些内容。只需实施

.lotusTable TD {
    display: inline !important;
}

在自定义控件中使用的样式表资源中 因此,您也不必将转换器应用于每个可能空的列。