Jsp 使用DataTablePrimeFaces
我正在使用primefaces的dataTable对象显示一些数据,但在实现某些功能时遇到了一些问题: 我首先显示一个只有一列的表,然后根据用户在第一列上选择的内容显示另一个充满数据的表 为此,当用户在第一个表中选择一行时,我将填充TaskController的currentCorbeilleId记录,并尝试更新表单“tasksList”。当我现在写的时候,它是有意义的,但是它不起作用。。。当我单击第一个表的一行时,什么也没发生 我使用dataTable组件的方式正确吗?我应该做些什么才能让它发挥作用? 谢谢你的回答Jsp 使用DataTablePrimeFaces,jsp,jsf,datatable,primefaces,Jsp,Jsf,Datatable,Primefaces,我正在使用primefaces的dataTable对象显示一些数据,但在实现某些功能时遇到了一些问题: 我首先显示一个只有一列的表,然后根据用户在第一列上选择的内容显示另一个充满数据的表 为此,当用户在第一个表中选择一行时,我将填充TaskController的currentCorbeilleId记录,并尝试更新表单“tasksList”。当我现在写的时候,它是有意义的,但是它不起作用。。。当我单击第一个表的一行时,什么也没发生 我使用dataTable组件的方式正确吗?我应该做些什么才能让它发
<f:view>
<h:form id="mainForm">
<p:dataTable id="corbeillesList"
value="#{IdentityController.groups}"
var="corbeillesList"
rendered="#{not empty IdentityController.groups}"
selectionMode="single"
selection="#{TaskController.currentCorbeilleId}"
update="tasksList">
<p:column>
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:commandLink value="#{corbeillesList.name}">
</h:commandLink>
</p:column>
</p:dataTable>
<p:dataTable id="tasksList"
value="#{TaskController.tasks}"
var="task"
rendered="#{not empty TaskController.tasks}"
selectionMode="single">
<p:column>
<f:facet name="header">
<h:outputText value="Date" />
</f:facet>
<h:outputText value="#{task.duedate}" rendered="#{task.duedate != null}">
<f:convertDateTime pattern="dd/MM/yyyy" type="date" dateStyle="short" />
</h:outputText>
<h:outputText value="Date non definit" rendered="#{task.duedate == null}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{task.name}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Description" />
</f:facet>
<h:outputText value="#{task.description}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Verouillee" />
</f:facet>
<h:outputText value="oui" rendered="#{task.assignee != null}" />
<h:outputText value="non" rendered="#{task.assignee == null}" />
</p:column>
</p:dataTable>
</h:form>
</f:view>
第二个数据表尚未呈现给客户端。因此,ajax
update
无法访问它。例如,将其放入始终呈现给客户端的h:panelGroup
中
<h:panelGroup id="tasksList">
<h:dataTable rendered="#{not empty TaskController.tasks}" ... >
...
</h:dataTable>
</h:panelGroup>
...
第二个数据表尚未呈现给客户端。因此,ajaxupdate
无法访问它。例如,将其放入始终呈现给客户端的h:panelGroup
中
<h:panelGroup id="tasksList">
<h:dataTable rendered="#{not empty TaskController.tasks}" ... >
...
</h:dataTable>
</h:panelGroup>
...
它不工作了。。。我正在尝试在另一个页面上进行同样的刷新,即使使用您的panelGroup,也无法解决此问题。答案针对您在问题中发布的代码示例。如果所讨论的组件不在相同的UINamingContainer
组件中(h:form
,f:subview
,等等),则需要在update
ID前面加上:
前缀,如update=“:tasksList”
,以便它从根级别进行搜索。它不起作用。。。我正在尝试在另一个页面上进行同样的刷新,即使使用您的panelGroup,也无法解决此问题。答案针对您在问题中发布的代码示例。如果所讨论的组件不在相同的UINamingContainer
组件中(h:form
,f:subview
,等等),则需要在update
ID前面加上:
前缀,如update=“:tasksList”
,以便它从根级别进行搜索。