1 Reply Latest reply on Sep 8, 2009 3:43 PM by Jan Groth

    Problem with dynamically created context menu in rich:datatable

    Jan Groth Novice

      hi there,

      i'm trying to implement a dynamicly created contextmenu, called from within a datatable.

      my problem is

      (a) i dont get my code to work on the oncontextmenu event
      (b) i dont get the right property in my backing bean

      here is the relevant code-snippet (taken and modified from max katz's practical richfaces, chapter 9, menu components):

      <rich:contextMenu submitMode="ajax" id="cm"
           <f:facet name="header">
           <h:graphicImage ... />
           <rich:toolTip...  />
      <a4j:support event="oncontextmenu"
           oncomplete="#{rich:component('cm')}.doShow(event, {})"
           actionListener="#{myAction.myListener}" reRender="cm" >
           <f:setPropertyActionListener value="#{myItem}"
                     target="#{myAction.item}" />

      (the contextMenuHelper is EVENT-scoped and holds the dynamically rendered context-menu)

      Okay, back to my problems:

      - if i rightclick in the column, no methods are called at all, and i get a tiny, empty context-menu (just 2 pixels or so)

      - if i change the event of the a4j-support to onclick, the a4j action listener is called, but before the property action listener sets its value - obviously resulting in a NPE

      - if i change my bean-code to be NPE-safe, for the sake of the example, i see that the context menu is dynamically created, but not for actual clicked data row, but for the last one... (as expected)

      any ideas what is wrong?