There's a couple of frustrating things with jqGrid v3.6 and of course all the previous versions. Why is there no inline add functionality, it's only available through a dialog popup? and where are the examples for deleting rows with row editing enabled? I can't get checkboxes to work in tandem with row editing. I'd be happy if someone could shed some light on this for me....

Back to the purpose of the post.... unfortunately it seems that the powers that be with the product have not provided a way to customize the POST parameters for the delete operation, it's just frustrating to say the least (or maybe I've missed something). Anyway I loath going in and amending any of the javascript and I'm yet to find a nice easy way of overriding functionality (though I'm sure its possible, I just don't have the time/patience at the moment). So how can I get APEX to handle the additional parameters named "id" and "oper"??

There's an easy trick you can do with APEX, well modplsql, to cater for fixed POST parameters which you have no control over... simply create a PLSQL wrapper procedure which names the parameters e.g.

create or replace PROCEDURE JQGRID_DEL
( p_flow_id       IN VARCHAR2
, p_flow_step_id  IN VARCHAR2
, p_instance      IN VARCHAR2
, p_request       IN VARCHAR2
, p_widget_mod    IN VARCHAR2
, p_widget_name   IN VARCHAR2
, id              IN VARCHAR2
, oper            IN VARCHAR2
) AS

BEGIN
  wwv_flow.show
  ( p_flow_id       => p_flow_id
  , p_flow_step_id  => p_flow_step_id
  , p_instance      => p_instance
  , p_request       => p_request
  , p_widget_mod    => p_widget_mod
  , p_widget_name   => p_widget_name
  , x01             => '{"oper": "'||oper||'", "id":"'||id||'"}'
  );
END JQGRID_DEL;
/
CREATE OR REPLACE PUBLIC SYNONYM JQGRID_DEL FOR &&USERNAME..JQGRID_DEL
/
GRANT EXECUTE ON JQGRID_DEL to APEX_PUBLIC_USER
/

Now this only works for POST parameters which are fixed, i.e. we can't do this for add or editing records since they're variable based on the column names. So this is an interim workaround until I find a clean solution for overriding the Delete post parameters.

Note: I've used this wrapper technique for years now, and I'm also using it to override APEX functionality without interfering with the product installation. If you're interested in a little more detail you should keep an eye out on the e-DBA blog which I contribute to during my daytime job.
edit post

Comments

0 Response to 'jqGrid - Deleting Rows, where's "serializeEditData" when you need it?'

Post a Comment