0

我的目标<p:dataTable>是被<pe:blockUI>如下阻止。

<pe:blockUI target="dataTable" widgetVar="blockUIWidget">
    <h:outputText value="Sending data..."/>
</pe:blockUI>

<p:dataTable id="dataTable" var="row" value="Test">
    <p:column>
        <p:commandLink id="link" value="Link" onstart="PF('blockUIWidget').block()" oncomplete="PF('blockUIWidget').unblock()"/>
    </p:column>
</p:dataTable>

自然,这个功能很好。


我不需要针对整个数据表,而只需针对表内的链接。以下尝试这样做是不成功的。

<pe:blockUI target="dataTable:link" widgetVar="blockUIWidget">
    <h:outputText value="Sending data..."/>
</pe:blockUI>

此处,target属性的值已从 更改dataTabledataTable:link以使其引用链接(数据表保持静止)。

在这种情况下,它保持静音。浏览器控制台上的错误或任何异常都不会发生。


同样的事情发生在<p:blockUI>. 以下尝试功能很好。

<p:blockUI block="dataTable" widgetVar="blockUI"/>

<p:dataTable id="dataTable" var="row" value="Test">
    <p:column>
        <p:commandLink id="link" value="Link" onstart="PF('blockUI').show()" oncomplete="PF('blockUI').hide()"/>
    </p:column>
</p:dataTable>

但是,如下所示<p:blockUI>指向<p:commandLink>表内部,不起作用。

<p:blockUI block="dataTable:link" widgetVar="blockUI"/>

再次没有错误,没有例外。

重点是什么?迭代组件的封闭组件是否可以不是<p:blockUI>or的目标<pe:blockUI>

4

1 回答 1

0

这很好用,当 a<p/pe:blockUI>在数据表列/s 本身内部定义时,如下所示。

<p:dataTable id="dataTable" var="row" value="Test">
    <p:column>
        <!--Using PrimeFaces Extensions <pe:blockUI>-->
        <pe:blockUI target="link" widgetVar="blockUIWidget">
            <h:outputText value="Sending data..."/>
        </pe:blockUI>
        <p:commandLink id="link" value="Link" onstart="PF('blockUIWidget').block()" oncomplete="PF('blockUIWidget').unblock()"/>
    </p:column>

    <p:column>
        <!--Using PrimeFaces <p:blockUI>-->
        <p:blockUI block="link1" widgetVar="blockLink1UI" />
        <p:commandLink id="link1" value="Link1" onstart="PF('blockLink1UI').show()" oncomplete="PF('blockLink1UI').hide()"/>
    </p:column>

    <p:column>
        <!--Using PrimeFaces <p:blockUI>-->
        <p:blockUI block="link2" widgetVar="blockLink2UI" />
        <p:commandLink id="link2" value="Link2" onstart="PF('blockLink2UI').show()" oncomplete="PF('blockLink2UI').hide()"/>
    </p:column>
</p:dataTable>
于 2014-07-31T19:00:59.773 回答