richfaces 中在点击右键的时候显示contextMenu

richfaces 中在点击右键的时候显示contextMenu
今天在完成一个功能时,遇到了一点问题:
使用rich:dataTable显示了一个列表,需要实现的功能是:右键点击row的时候需要弹出contextMenu并且让此行记录被高亮显示。
<rich:contextMenu attached="false" id="fulfillmentItemContextMenu" submitMode="ajax">
xxxxxxxx
</rich:contextMenu>
<rich:dataTable xxxxxxx>
  <rich:column xxxxxx>
  <rich:column xxxxxx>
  <rich:column xxxxxx>
  <rich:componentControl event="onRowContextMenu" for="statusContextMenu" operation="show">
</rich:dataTable>

但是要使此记录被显示的功能是实现在后台bean里面,所以要先执行这个函数之后再弹出对应的菜单。这样就不能使用componentControl来控制了,只能使用a4j:support了。

将对应的componentControl代码改为:
<a4j:support action="#{backBean.selectItem(id)}" event="onRowContextMenu"
   reRender="xxPanel" oncomplete=" #{rich:component('xxxxContextMenu')}.doShow(event, {})"/>

注意:richContextMenu的官方文档对这个tag的js函数解释的不是很清楚,也没有对应的例子,这是我在google了好久之后才发现的一个小例子。请注意加粗部分代码的使用。
另附官方对richContextMenu的js函数的说明:

Table 6.113. JavaScript API

Function Description Apply to
hide() Hides component or group Component, group
show(event, context) Shows component or group Component, group




你可能感兴趣的:(richfaces 中在点击右键的时候显示contextMenu)