我正在尝试生成一个表,其中列是动态添加或删除的,取决于用户输入。 问题是,空列仍然可见(参见图片)
我目前的方法是使用xsl:if。 (参见代码段)
<fo:table table-layout="fixed" width="100%" font-family="Helvetica" font-size="12pt">
<fo:table-body start-indent="5pt">
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:if test="boolean(./targetAgreements/targetAgreement/area/@visible = 'true')">
Area
</xsl:if>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<xsl:if test="boolean(./targetAgreements/targetAgreement/brand/@visible = 'true')">
Brand
</xsl:if>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<xsl:if test="boolean(./targetAgreements/targetAgreement/currentTarget/@visible = 'true')">
Current Target
</xsl:if>
</fo:block>
</fo:table-cell>
<fo:table-cell>
...
如果我尝试用xsl包围table-cell:如果它告诉我,那个表行至少需要一个table-cell作为子元素。
如何完全删除空列?
谢谢!
答案 0 :(得分:0)
我做了某种解决方法......
第一个表格单元格始终存在(没有xsl:if)。以下单元格用xsl:if。
包围查看示例:
<fo:table table-layout="fixed" width="100%" font-family="Helvetica" font-size="12pt">
<fo:table-header >
<fo:table-row font-weight="bold" background-color="rgb(133,133,133)">
<fo:table-cell>
<fo:block>
<xsl:value-of select="./headlines/headline[1]" />
</fo:block>
</fo:table-cell>
<xsl:if test="boolean(./targetAgreements/targetAgreement/brand/@visible = 'true')">
<fo:table-cell>
<fo:block>
<xsl:value-of select="./headlines/headline[2]" />
</fo:block>
</fo:table-cell>
</xsl:if>
<xsl:if test="boolean(./targetAgreements/targetAgreement/currentTarget/@visible = 'true')">
<fo:table-cell>
<fo:block>
<xsl:value-of select="./headlines/headline[3]" />
</fo:block>
</fo:table-cell>
</xsl:if>
...