跨不同视图访问数据表数据?

时间:2016-01-15 00:33:40

标签: jsf primefaces

我有Primefaces数据表。它有2个相关专栏。第一个是inputText和commandlink,显示搜索弹出窗口。在弹出窗口中,我选择一些值然后弹出窗口关闭,输入文本由该值填充。现在,在第二列中,我有另一个命令链接,它打开另一个视图,我可以在datatables行项目上执行一些操作。我需要以某种方式将填充的inputtext的值传递给另一个视图。使用该值,我将检索要放入下拉列表的项目。我认为我无法在支持bean中设置该值,因为用户可以单击另一个数据表行,然后单击第一行的链接,并且支持bean将传递不正确的数据(第二行的数据到第一行的链接)。我可以将datatable的var项传递给另一个视图,但是如何从弹出搜索结果中设置它的值呢?我是否可以以某种方式访问​​数据表的弹出窗口?

代码:

<p:dataTable value="itemsList" var="item">
    <p:column>
         <h:inputText id="1" value=""/>
         <p:commandLink oncomplete="pfPopup.show();"/> // shows popup where i perform search and populate inputText id="1"
    </p:column>
    <p:column>
    <p:commandLink value="Allocate" action="allocate"/> // After going to new view here, I need value from same row's inputText id="1". How can I pass that value when inputText gets populated so I can use it in this xhtml? I guess I need to set "item" field with that value and pass "item" to some method in new view? Can I update "item" from popup?
    </p:column>
</p:dataTable>

在弹出窗口中我有这个数据表:

<p:dialog id="popup" widgetVar="pfPopup" resizable="false" modal="true">
    <p:dataTable id="searchResults" var="result" value="#{searchBean.results}">
        <p:column>
        <p:commandLink id="selectResultNumber" oncomplete="pfPopup.hide();populateInputTextField();"/>
        </p:column>
     </p:dataTable>
</dialog>

0 个答案:

没有答案