Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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更新数据表行_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf primefaces更新数据表行

Jsf primefaces更新数据表行,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我有p:dataTable并在使用两次单击dataTable行时显示p:dialog。在该对话框中,我有一个按钮,用于更改选定数据表行单元格的状态。问题是我不知道如何用新值更新该单元格。我想我需要一些primefaces配置,primefaces会自动更新,但因为我对JSF和primefaces非常陌生,所以解决这个问题对我来说是个问题。下面是我的代码 数据表: <p:dataTable styleClass="myDataGrid" id="tbl2" var="domesticTran

我有
p:dataTable
并在使用
两次单击dataTable行时显示
p:dialog
。在该对话框中,我有一个按钮,用于更改选定数据表行单元格的状态。问题是我不知道如何用新值更新该单元格。我想我需要一些primefaces配置,primefaces会自动更新,但因为我对JSF和primefaces非常陌生,所以解决这个问题对我来说是个问题。下面是我的代码

数据表:

<p:dataTable styleClass="myDataGrid" id="tbl2" var="domesticTransactions" value="#{domesticTransferGridManagedBean.domesticTransactions}"
    paginator="true" rows="15" rowKey="#{domesticTransactions.id}" scrollable="true" scrollHeight="280"
    paginatorPosition="bottom"
    paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
    selection="#{domesticTransferGridManagedBean.selectedDomesticTransfer}" selectionMode="single">
    <p:ajax event="rowDblselect" immediate="true" process="@this" oncomplete="PF('tgelPrintForm').show();" update=":form:modalDialog" />

您的对话框应该
update
包含所选条目的表
tbl2

<p:commandButton actionListener="#{domesticTransferGridManagedBean.addFirstSignerSignToDomesticTransaction}" 
                 id="domesticTransferFirstSignerSign"
                 value="#{msg['label.FirstSignerSignature']}" 
                 styleClass="myButton"
                 process="@this"
                 update="status tbl2"
                 oncomplete="PF('tgelPrintForm').hide()">

您只需更新datatable,将datatable id传递给命令按钮中的update参数

<p:commandButton actionListener="#{domesticTransferGridManagedBean.addFirstSignerSignToDomesticTransaction}" 
                                       id="domesticTransferFirstSignerSign"
                                       value="#{msg['label.FirstSignerSignature']}" 
                                       styleClass="myButton"
                                       process="@this"
                                       update="status tbl2"
                                       oncomplete="PF('tgelPrintForm').hide()">
</p:commandButton>

根据表和对话框的位置,您可能需要传递datatable的绝对id:

<p:dataTable styleClass="myDataGrid" id="tbl2" var="domesticTransactions" value="#{domesticTransferGridManagedBean.domesticTransactions}"
    paginator="true" rows="15" rowKey="#{domesticTransactions.id}" scrollable="true" scrollHeight="280"
    paginatorPosition="bottom"
    paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
    selection="#{domesticTransferGridManagedBean.selectedDomesticTransfer}" selectionMode="single">
    <p:ajax event="rowDblselect" immediate="true" process="@this" oncomplete="PF('tgelPrintForm').show();" update=":form:modalDialog" />
update=“status:tbl2”
update=“status form:tbl2”

<p:commandButton actionListener="#{domesticTransferGridManagedBean.addFirstSignerSignToDomesticTransaction}" 
                                       id="domesticTransferFirstSignerSign"
                                       value="#{msg['label.FirstSignerSignature']}" 
                                       styleClass="myButton"
                                       process="@this"
                                       update="status tbl2"
                                       oncomplete="PF('tgelPrintForm').hide()">
</p:commandButton>