onRowSelect使用新数据更新第二个惰性p:datatable

时间:2018-12-12 09:41:40

标签: jsf primefaces lazy-loading

我希望有人能给我一些有关我的问题的提示。我有两个mozilla。用户可以在第一个<p:dataTable>上选择行。根据所选的行,必须用新的惰性数据(lazyModel2)更新lazy load

我不知道如何获取新的<p:dataTable>并使用行选择中的新数据更新第二个<p:dataTable>lazyModel2事件正在运行,我可以获取selectedRow数据。

我只是不知道如何从<p:dataTable>方法中获得新的onRowSelect

XHTML

lazyModel2

CONTROLLER

onRowSelect()

Lazy2DataModel

<p:dataTable id="dt1"
    var="dtVar1"
    value="#{controller.lazyModel1}"
    lazy="true"
    rowKey="#{dtVar1.recordId}"
    filterEvent="enter"
    sortMode="multiple"
    selectionMode="single"
    selection="#{controller.selected1item}">

    <p:ajax event="rowSelect"listener="#{controller.onRowSelect}"update="MasterForm:dt2"/>

    <p:column headerText="Text" sortBy="#{dtVar1.text}" filterBy="#{dtVar1.text}" style="width: 100px">
        <p:cellEditor>
            <f:facet name="output"><h:outputText value="#{dtVar1.text}"/></f:facet>
            <f:facet name="input"><p:inputText value="#{dtVar1.text}"style="width: 100%"/></f:facet>
        </p:cellEditor>
    </p:column>
    ...
</p:dataTable>

<p:dataTable id="dt2"
    var="dtVar2"
    value="#{controller.lazyModel2}"
    lazy="true"
    rowKey="#{dtVar2.recordId}"
    filterEvent="enter"
    sortMode="multiple"
    editable="true"
    editMode="row">
    <p:ajax event="rowEdit" listener="#{controller.onRowEdit}" update="dt2"/>

    <p:column style="width: 32px">
        <f:facet name="header"><h:outputText value=""/></f:facet>
        <p:rowEditor/>
    </p:column>

    <p:column headerText="Text 2" sortBy="#{dtVar2.konto}" filterBy="#{dtVar2.konto}" style="width: 100px">
        <p:cellEditor>
            <f:facet name="output"><h:outputText value="#{dtVar2.konto}"/></f:facet>
            <f:facet name="input"><p:inputText value="#{dtVar2.konto}" style="width: 100%"/></f:facet>
        </p:cellEditor>
    </p:column>
        ...
</p:dataTable>

0 个答案:

没有答案