Skip to Main Content


p_param.value is always null when item-type plug-in used in Interactive Grid

Tony AndrewsJul 24 2017

I am trying to develop an item-type plug-in for use in an Interactive Grid in APEX 5.1.2.  However I can't fathom how to obtain the item's current value from within the render procedure - p_param.value always returns null.

By hacking a copy of the Modern Star Rating plug-in - which works - I can see that p_param.value is always null in its render function too.  In fact, I've modified it to (a) write out the value of p_param.value, and (b) ignore the value of p_param.value and use the text "Hello world" instead:

        -- render the text field widget

        sys.htp.prn (

            'p_param.value="'||p_param.value||'"<input type="text" ' ||

            wwv_flow_plugin_util.get_element_attributes(p_item, l_name, 'apex-item-starrating apex-item-plugin', false) ||

            'id="'    |||| '" ' ||

            'value="Hello world" />' );

It still works perfectly well, though I can see "Hello world" via Chrome's Inspect tool:

<div class="a-GV-columnItem">p_param.value=""<input type="text" name="18541337687439737242" class="apex-item-starrating apex-item-plugin js-ignoreChange js-tabbable" id="C18541337687439737242" value="Hello world" tabindex="-1"></div>

I can only assume from this that the Javascript function starRatingItemInit is doing all the real work, and whatever you render in the PL/SQL is irrelevant to obtaining the item value?

My requirement is to take a delimited value like 'AAA.BBBBB.CC' and present it broken up into a number of select lists, one with current value 'AAA' etc.  From what I've seen it appears I will need to set these current values from Javascript code which can get the delimited value using $v('MY_ITEM') after the select lists have been rendered, because during rendering the value appears to be null.  Am I right?  Is there any documentation, or blog post etc., on building item-type plug-ins in Interactive Grids?

Post Details
Locked on Aug 21 2017
Added on Jul 24 2017