在Microsoft Word BI Publisher中如何隐藏首次出现的表格表头行
BI Publisher RTF布局:实现首次隐藏表头、分页后显示表头的解决方法
以下是几个可行的实操方案,避开无法获取current page变量的限制:
方案1:利用position()变量+条件格式
- 给收据数据集添加一个全局分组(比如将所有收据归为一个分组)
- 选中表头行,打开「BI Publisher」选项卡的「条件格式」,设置规则:
- 条件表达式:
<?if:position()!=1?> - 动作选择「显示」,反之则隐藏该行
- 条件表达式:
- 逻辑:首次渲染表头时position()返回1,触发隐藏;分页后重复渲染时position()>1,表头自动显示
方案2:嵌入XSLT片段精准控制
- 在RTF中插入表单域,粘贴以下XSLT代码(替换掉原有表头内容的位置):
<xsl:if test="not(ancestor-or-self::*[local-name()='for-each' and @first='true'])"> <!-- 此处插入你的表头单元格内容,比如:<td>收据编号</td><td>金额</td> --> </xsl:if> - 逻辑:通过判断当前循环是否为首次执行,过滤掉首次的表头渲染,分页后的循环会正常显示表头
方案3:变量标记+重复区域设置
- 在报表最开头定义一个首次页面标记变量:
<?xdoxslt:set_variable($_XDOCTX, 'V_FIRST_PAGE', 'Y')?> - 选中表头行,添加隐藏条件:
<?if:$V_FIRST_PAGE='Y'?> - 打开表头行的「重复区域」设置,勾选「仅在分页后重复」
- 在收据循环的最后一行,添加变量重置:
<?xdoxslt:set_variable($_XDOCTX, 'V_FIRST_PAGE', 'N')?> - 逻辑:首次加载时变量为Y,表头隐藏;循环结束后变量设为N,分页后的表头会自动重复显示
内容的提问来源于stack exchange,提问作者Artūrs Grigorjevs
相关产品推荐
相关产品推荐

