<p:contextMenu for="tripTable">
<p:menuitem value="context menu item for main dataTable" />
</p:contextMenu>
<p:dataTable id="tripTable" rowKey="#{listObj.id}"
selection="#{listTrqsDataModel.tripBean.currentItem}"
selectionMode="single"
value="#{listTrqsDataModel.tripBean.dataList}" var="listObj"
rows="#{listTrqsDataModel.tripBean.noOfItemsListedPrPage}">
<p:column>
<p:rowToggler />
</p:column>
<p:column>
...
</p:column>
<p:rowExpansion>
<p:contextMenu for="tripTRQTable">
<p:menuitem value="context menu item for rowExpansion dataTable" />
</p:contextMenu>
<p:dataTable id="tripTRQTable" ... >
<p:column>
...
</p:column>
</p:dataTable>
</p:rowExpansion>
</p:dataTable>
not sure how to make this work... anyone?
UPDATE 20140210
it seems like a workaround for this is to remove the "for" attribute in the inner contextMenu--making its scope for the whole page, while the outer contextMenu is still working for the outer dataTable, i.e.:
<p:rowExpansion>
<p:contextMenu
<p:menuitem value="context menu item for rowExpansion dataTable" />
</p:contextMenu>
<p:dataTable id="tripTRQTable" ... >
<p:column>
...
</p:column>
</p:dataTable>
UPDATE 20140217
doesn't look like the workaround is very reliable. once the "inner" context menu is enabled, the "outer" doesn't show. looks like i'll have to use a button/icon instead of context menus, for now...