在p:printer中定位p:tabView的特定选项卡

时间:2012-05-17 16:50:35

标签: jsf-2 primefaces

我正在尝试打印多个标签但想要排除一些标签。

我尝试了以下内容:

<p:printer target="tabs:tab0,tabs:tab2" />

<p:printer target="tabs:tab0" />
<p:printer target="tabs:tab2" />

两者都没有。

1 个答案:

答案 0 :(得分:3)

我在它周围玩了一下,如果标签可见,它只适用于特定标签。因此,您绝对不能指定多个选项卡。您可能希望向PrimeFaces发布issue report,尽管解决这个问题会比较困难。

截至目前,要使其适用于特定选项卡,您需要在执行打印操作之前切换按钮onclick处理程序中可见的所需选项卡。您可以使用select()小部件的<p:tabView>功能来传递基于零的选项卡索引。

这是一个启动示例。

<h:form id="form">
    <p:tabView id="tabs" widgetVar="tabs">
        <p:tab id="tab1" title="tab1">tab1</p:tab>
        <p:tab id="tab2" title="tab2">tab2</p:tab>
        <p:tab id="tab3" title="tab3">tab3</p:tab>
    </p:tabView>
    <p:commandButton type="button" icon="ui-icon-print" value="Print tab2" onclick="tabs.select(1)">
        <p:printer target="tabs:tab2" />
    </p:commandButton>
</h:form>