Primefaces两个dataTable更新并将数据从一个添加到另一个

时间:2017-03-18 13:07:09

标签: ajax jsf primefaces datatable

我的JSF页面中有两个dataTable,它们放在一个弹出一些操作的对话框中,这些dataTables包含来自我的托管bean列表的数据,我想要做的就是当我双击一行时在我的第一个数据中我想将它添加到第二个数据并且我已经实现了但只有在我关闭对话框并再次打开它时才会发生,我尝试使用ajax更新来更新我的第二个dataTable但是问题仍然发生我的另一个问题,我想隐藏第一个dataTable中的数据,当我将其移动到第二个数据而不从列表中删除它或(至少不允许用户移动相同的项目两次)任何建议请?这是我的对话框和数据表:

<p:dialog modal="true" width="50%" height="50%" widgetVar="test"
    id="dialog">
    <p:dataTable id="tblAllQuestions" value="#{mbInstructor.fullList}"
        var="asEmp" selectionMode="single"
        selection="#{mbInstructor.currentExamQuestion}" rowKey="#{asEmp.id}"
        rowIndexVar="rowIndex">
        <p:ajax event="rowDblselect"
            update="@parent:tblAllQuestions2"
            process="@this" listener="#{mbInstructor.submitForm()}" />
        <p:column headerText="#" width="20">
                    #{rowIndex+1}
                </p:column>
        <p:column headerText="#{msg2.get('employee')}" width="200">
                    #{asEmp.questionTxt}
                </p:column>
    </p:dataTable>


    <p:dataTable id="tblAllQuestions2"
        value="#{mbInstructor.formsQuestion}" var="as" selectionMode="single"
        selection="#{mbInstructor.currentExamQuestion}" rowKey="#{as.id}"
        rowIndexVar="rowIndex">
        <p:ajax event="rowDblselect"
            update="@parent:pnlfourmData"
            process="@this" />
        <p:column headerText="#" width="20">
                    #{rowIndex+1}
                </p:column>
        <p:column headerText="#{msg2.get('employee')}" width="200">
                    #{as.question.questionTxt}
                </p:column>
    </p:dataTable>



    <h:outputText value="[no selection made]"
        rendered="#{empty mbInstructor.model.target}" />
    <p:commandButton id="formSubmit" value="Submit"
        actionListener="#{mbInstructor.submitForm()}" style="margin-top:5px" />


</p:dialog>

我也尝试更新整个对话框但是当我执行操作时它会消失,所以我将以下内容添加到我的ajax中再次显示

  oncomplete="PF('test').show()"

但完成后对话框不显示。

0 个答案:

没有答案