当我在这里选择的行是我的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>
答案 0 :(得分:1)
您应该为ipnutText设置一个ID,并在选择元素时使用Ajax更新它: 在datatable标记
中添加此ajax事件 <p:ajax event="rowSelect" update="myInput">
并更新您的InputText
<p:inputText id="myInput" value="#{opController.selected.opNum}" readonly="true" />