Chr*_*Geo 2 java datatable jsf contextmenu primefaces
我有一个简单的数据表有3列,显示AccessCard实体在一列我有一个"状态",可以说是"非活动","删除"等.显然这些值来自支持bean.
所以,如果我们说,#{card.accessCard.flgDeleted} == true则显示"INACTIVE"
在上下文菜单中,我有一个选项"Flag as Deleted" flgDeleted == false.我不想要删除选项,如果flgDeleted == false.
使用我迄今为止实现的代码,当我选择LEFT行时,一切正常.当我使用右键单击选择一行并显示上下文菜单的同时,支持bean似乎没有更新.有趣的是,如果右键单击一行并实际选择让我们说标记为已删除它就可以解决所有问题.
<p:contextMenu id="contextMenu" for="cardTable">
<p:menuitem value="View Card History" icon="ui-icon-search"/>
<p:menuitem value="Flag as Deleted" icon="ui-icon-trash"
process="@form" update="@form" oncomplete="dlgDeleteCard.show()"
rendered="#{!card.accessCard.flgDeleted}" />
</p:contextMenu>
<h:panelGrid style="width:500px;">
<p:dataTable var="pc" id="cardTable" widgetVar="cardTable"
value="#{card.accessCardList}"
selectionMode="single" selection="#{card.accessCard}"
rowKey="#{pc.cardId}">
<p:ajax event="rowSelect" listener="#{card.onRowSelect}"
update="@form :messages" />
<p:column id="cardId" width="20%" headerText="Card Id">
<h:outputText value="#{pc.cardId}" />
</p:column>
<p:column id="cardHolderName" width="50%"
headerText="Current Holder">
<h:outputText value="#{pc.currentHolder}" />
</p:column>
<p:column id="cardStatus" width="10%" headerText="Status">
#{card.getCardStatus(pc)}
</p:column>
</p:dataTable>
</h:panelGrid>
Run Code Online (Sandbox Code Playgroud)
如果还有人需要它,请使用:
<p:ajax event="contextMenu" update=":MyComponent"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8612 次 |
| 最近记录: |