在primefaces

时间:2018-05-22 14:42:17

标签: jsf primefaces

当我在这里选择的行是我的jsf页面代码时,我很难弄清楚如何在数据表中显示数据到输入文本:

我知道我的代码中缺少一些细节,但我不知道在哪里。

你可以帮帮我吗?

谢谢!

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:f="http://xmlns.jcp.org/jsf/core"
  xmlns:p="http://primefaces.org/ui">
<h:head>
    <title>Facelet Title</title>
</h:head>
<h:body>
    <f:view>


        <h:form>
            <h1><center><h:outputText value="List des Op"/></center></h1>
            <p:dataTable value="#{opController.op}" selectionMode="single" selection="#{opController.setSelected(selected)}" var="item" rowKey="#{item.opPK}"  >

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="OpNSeq"/>
                    </f:facet>
                    <h:outputText value="#{item.opPK.opNSeq}"/>
                </p:column>
                <p:column>
                    <f:facet name="header">
                        <h:outputText value="OpNum"/>
                    </f:facet>
                    <h:outputText value="#{item.opNum}"/>
                </p:column>

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="OpDate"/>
                    </f:facet>
                    <h:outputText value="#{item.opDate}">
                        <f:convertDateTime pattern="MM/dd/yyyy HH:mm:ss" />
                    </h:outputText>
                </p:column>

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="OpVisa"/>
                    </f:facet>
                    <h:outputText value="#{item.opVisa}"/>
                </p:column>

            </p:dataTable>
            <h3><center><h:outputText value="Information sur OP"/></center></h3>

            <p:outputLabel value="N° Op"/>
            <p:inputText value="#{opController.selected.opNum}" readonly="true" />

        </h:form>
    </f:view>

</h:body>

1 个答案:

答案 0 :(得分:1)

您应该为ipnutText设置一个ID,并在选择元素时使用Ajax更新它: 在datatable标记

中添加此ajax事件
        <p:ajax event="rowSelect" update="myInput"> 

并更新您的InputText

        <p:inputText id="myInput" value="#{opController.selected.opNum}" readonly="true" />