0

我有一个要求,我希望用户上下移动数据表行。我认为上下文菜单会很方便,因为会有一个上移和下移菜单项。为此,我尝试实现数据表示例的上下文菜单Primefaces展示。但是,我没有从要显示在对话框中的数据表行中获取选定的值。

请找到以下代码:

 <p:contextMenu for="availableCars">
        <p:menuitem value="View" update="display" icon="ui-icon-search" oncomplete="carDialog.show()"/> 
        </p:contextMenu>
        <p:dataTable id="availableCars" var="car" value="#{RequestBean.formFields}" rowKey="#{car.car_group}" selectionMode="single" selection="#{RequestBean.selectedField}">
        <p:column headerText="Field Label">
        <h:outputText value="#{car.car_label}" />
        </p:column>
        <p:column headerText="Field Group">
        <h:outputText value="#{car.car_group}" />
        </p:column>
        <p:column headerText="Field Name">
            <h:outputText value="#{car.car_name}" />
        </p:column>
        </p:dataTable>

        <p:dialog header="Car Detail" widgetVar="carDialog" resizable="false"
          width="200" showEffect="clip" hideEffect="fold" id="dialog">
         <h:panelGrid id="display" columns="2" cellpadding="4">
        <h:outputText value="Car label:" />
        <h:outputText value="#{RequestBean.selectedField.car_label}" style="font-weight:bold"/>
        <h:outputText value="car Group" />
        <h:outputText value="#{RequestBean.selectedField.car_group}" style="font-weight:bold"/>
        <h:outputText value="Car Name:" />
        <h:outputText value="#{RequestBean.selectedField.car_name}" style="font-weight:bold"/>
        </h:panelGrid>
        </p:dialog>

任何帮助,将不胜感激。注意:我使用的是 PF 2.2.1

4

1 回答 1

0

看起来选择没有使用 ajax 发送 - 您需要onRowSelectUpdate在数据表上设置属性。

来自 Primefaces 文档:

在前面描述的单选和多选选项中,用户需要提交封闭表单,以便处理选择并将其设置为选择值引用。如果您想在选择行时立即执行自定义逻辑,请立即绑定 rowSelectListeneror 或定义 onRowSelectUpdate 选项。

于 2013-05-02T10:27:50.987 回答