我创建了一个数据表,在数据表的每一行上,我在其中一列中有一个箭头图像图标。 当我右键单击图像图标时,我正在显示一个主要菜单,其中包含一个菜单项列表。
其中一个菜单项是Delete(删除所选行),但是当我单击删除菜单项时,在托管bean中,项目将从列表中删除,因为这不会在UI上更新。
我在update属性中添加了数据表id的值。
我尝试使用正在运行的上下文菜单,但用户想要一个提示,例如箭头,点击并查看菜单。所以我需要让现有的工作。
这是带有箭头图像的数据表的xhtml,此处包含菜单xhtml,其中包含ui:include标记
<p:outputPanel id="favPanel" styleClass="borderlessPanel">
<br />
<p:outputLabel value="Case List"
styleClass="label-font-bold caseNumberLabel"></p:outputLabel>
<br />
<br />
<p:dataTable id="tblFavCaseResult" var="favoriteCase"
value="#{myCasesViewBean.favoriteCaseList}"
rowKey="#{favoriteCase.caseId}"
rowIndexVar="favoriteCaseListRowIndex"
selection="#{myCasesViewBean.selectedFavoriteCase}"
selectionMode="single"
styleClass="DataTable ui-datatable ui-datatable-footer hide-column-names remove-footer">
<p:ajax event="rowSelect" update=""
listener="#{myCasesViewBean.favoriteCaseSelectionChange}" />
<p:column id="favColumn">
<p:commandLink id="favCaseGroup" style="float: right">
<h:panelGroup layout="block"
styleClass="ui-icon ui-icon-triangle-1-se" />
</p:commandLink>
<h:panelGroup>
<h:outputLink styleClass="commandLinkstyle" value="#{favoriteCase.docketreportURL}"
target="_blank"><h:outputText value="#{favoriteCase.caseNumber}" escape="false"/>
</h:outputLink>
<h:outputText value=" #{favoriteCase.shortTitle}" />
</h:panelGroup>
<p:menu overlay="true" trigger="favCaseGroup" my="left top"
at="left bottom">
<ui:include src="FavoriteCaseMenuOption.xhtml">
<ui:param name="FavoriteCaseCategory" value="#{favoriteCase.caseDTO}"></ui:param>
</ui:include>
</p:menu>
</p:column>
</p:dataTable>
</p:outputPanel>
Here is the content of FavoriteCaseMenuOption.xhtml
<div xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<!-- $Header: /usr/local/cvsroot/nextgen/ui/mycases/src/main/webapp/pages/views/FavoriteCaseMenuOption.xhtml,v 1.11 2014/03/25 13:15:10 jukalkar Exp $ -->
<ui:composition>
<p:menuitem value="Snapshot" target="_blank" url="#{caseSearchBean.currentGenContextPath}/#{favoriteCase.caseId}" />
<p:menuitem value="Docket an Event" target="_blank"
url="www.google.com"/>
<p:menuitem value="Docket an Event" target="_blank"
url="www.google.com"
/>
<p:menuitem value="Query" target="_blank" url="www.google.com"
/>
<p:menuitem value="Remove from Case List"
update="tblFavCaseResult"
actionListener="#{myCasesViewBean.deleteFavoriteCase}">
<f:setPropertyActionListener
target="#{MyCasesViewBean.favoriteCaseListRowIndex}"
value="#{favoriteCaseListRowIndex}"></f:setPropertyActionListener>
</p:menuitem>
</ui:composition>
</div>