Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf PrimeFaces lazydatamodel加载方法未从第二次onwords调用_Jsf_Primefaces - Fatal编程技术网

Jsf PrimeFaces lazydatamodel加载方法未从第二次onwords调用

Jsf PrimeFaces lazydatamodel加载方法未从第二次onwords调用,jsf,primefaces,Jsf,Primefaces,我有动态标签。。。 由于大多数列都是相同的,我编写了自定义组件以在选项卡中显示表 当我单击每个选项卡时,它各自的惰性数据模型加载方法被调用。。在多次切换选项卡后,如果单击选项卡,则不会调用加载方法。。。所以显示旧数据。。。不从数据库中获取 我希望每次都调用load()方法。我的意思是,如果我单击tab,应该调用它的data model load()方法 怎么做 这是我的密码: <p:tabView id="vzTabView" styleClass="vzTabView" dynamic=

我有动态标签。。。 由于大多数列都是相同的,我编写了自定义组件以在选项卡中显示表

当我单击每个选项卡时,它各自的惰性数据模型加载方法被调用。。在多次切换选项卡后,如果单击选项卡,则不会调用加载方法。。。所以显示旧数据。。。不从数据库中获取

我希望每次都调用load()方法。我的意思是,如果我单击tab,应该调用它的data model load()方法

怎么做

这是我的密码:

<p:tabView id="vzTabView" styleClass="vzTabView" dynamic="true"  >

        <p:ajax event="tabChange" listener="#{bean1.onTabChange}" process="@this"  />

        <c:forEach items="#{bean1.values}" var="tab">

                <p:tab id="#{tab.uniqueTabId}s" title="#{tab.label}" rendered="#{bean1.isSteeringListRendered(tab)}">
                    <h:form id="#{tab.uniqueTabId}s-Form" onkeyup="avoidEnter(event)">  
                            // custom component         
                        <pc:pcData id="id1" gridId="grid1" bean="#{bean2}" isCostumer ="false"/>                    
                    </h:form>
                </p:tab>

                <p:tab id="#{tab.uniqueTabId}c" title="#{tab.label}" rendered="#{bean1.isCostumerListRendered(tab)}">
                    <h:form id="#{tab.uniqueTabId}c-Form" onkeyup="avoidEnter(event)" > 

                        <pc:pcData id="id2" gridId="grid2" bean="#{bean3}" isCostumer ="true"/>                 
                    </h:form>
                </p:tab>

        </c:forEach>
    </p:tabView>

//自定义组件
//自定义组件

<cc:interface>
    <cc:attribute name="id" required="true" />
    <cc:attribute name="bean" />
    <cc:attribute name="gridId" />
    <cc:attribute name="isCostumer" />
</cc:interface>

<cc:implementation>

        <p:dataTable id="${cc.attrs.gridId}" editMode="cell" var="row" 
            selectionMode="single" paginator="true"
            rowsPerPageTemplate="20,50,100,150,200"
            paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
            currentPageReportTemplate="({currentPage} #{msgs.of} {totalPages})"
            value="#{cc.attrs.bean.lazyDataModel}" lazy="true"
            rowKey="#{row.id}" editable="true" rows="20" styleClass="pst-grid">
                ....
                .....
                </p:datatable>

....
.....

在点击制表符后,我尝试了remoteCommand技巧,更新了表,但仍然没有成功。

当你不使用复合组件时,它有效吗?当你不使用复合组件时,它有效吗?嗨,Kukeltje,我没有使用复合组件,你是,但你在帖子中称它为自定义组件!!!试着不用一个。这有区别吗?不,那么它与复合组件无关,您缩小了问题的范围。是否每次都会重新加载一个简单的普通输出文本?