请帮我找一个更新p:inputtext的示例,其中存储在bean中的数据通过选择p:对话框的数据表行来设置(已经解决)。我以同样的方式成功更新了outputtext。
我正在使用(学习)netbeans 7.2 primefaces 3.2,glassfish 3.1
thansk为您提供所有帮助
rs_ncs
答案 0 :(得分:0)
查看primefaces showcase和user guide,您将找到所需的一切;详细搜索数据表组件的rowSelect事件。祝你好运=)
答案 1 :(得分:0)
如果您想要从数据表中选择一行来更新组件,那么您可以使用正在监听update
事件的<p:ajax>
rowselect
属性。像这样:
<p:ajax event="rowSelect" update=":xx:xx" />
答案 2 :(得分:0)
根据BalusC的建议,代码<p:ajax event="rowSelect" update=":xx:xx" />
应该有效....
以下是更新inputtext和outputtext的示例。
<h:form>
<p:dataTable id="usertable" var="user" value="#{userManageBean.userList}"
rowKey="#{user.U_ID}" selection="#{userManageBean.selectedUser}"
selectionMode="single" paginator="true" rows="18" >
<p:ajax event="rowSelect" update=":useredit:edituser" />
<p:ajax event="rowSelect" update=":viewuser:displayuser" />
<p:column headerText="User Name">
<h:outputText value="#{user.username}" />
</p:column>
<p:column headerText="FName">
<h:outputText value="#{user.firstname}" />
</p:column>
<p:column headerText="LName">
<h:outputText value="#{user.lastname}" />
</p:column>
</p:dataTable>
</h:form>
<p:dialog id="userview" header="View User" widgetVar="dlg2" >
<h:form id="viewuser">
<h:panelGrid id="displayuser" columns="2" cellpadding="4">
<h:outputText value="User Name:" />
<h:outputText value="#{userManageBean.selectedUser.username}" />
<h:outputText value="First Name" />
<h:outputText value="#{userManageBean.selectedUser.firstname}" />
<h:outputText value="Last Name:" />
<h:outputText value="#{userManageBean.selectedUser.lastname}" />
</h:panelGrid>
</h:form>
</p:dialog>
<p:dialog id="user_edit" header="Edit User" widgetVar="dlgedit" >
<h:form id="useredit">
<h:panelGrid id="edituser" columns="2" cellpadding="4">
<h:outputText value="First Name" />
<h:inputText value="#{userManageBean.selectedUser.firstname}" />
<h:outputText value="Last Name" />
<h:inputText value="#{userManageBean.selectedUser.lastname}" />
<p:commandButton id="updateUser" value="Add" action="#{someaction}"
ajax="false" />
</h:panelGrid>
</h:form>
</p:dialog>