Retornar valor de una modal en un Interactive Grid IG – Oracle APEX

Para este ejemplo usaremos la tabla demo EMP, en la cual basaremos nuestro Interactive Grid.

Agregamo una nueva columna la cual nos servira para abrir la página modal, empno open_modal

select empno
     , ename
     , job
     , mgr
     , hiredate
     , sal
     , comm
     , deptno
     , empno open_modal
  from emp

Creamos una página modal, agregamos 2 items, y los agregamos retornamos el valor en un acción de Dialog Close.

Desde la página del IG pasaremos los valores hacia la página modal.

Colocamos un ID en el Interactive Grid, en mi caso empIg.

Luego agregamos una accion dinámica on_dialog_close y colocamos el siguiente código.

var igId = 'empIg';
var affectedColumn = 'SAL';
var widget = apex.region(igId).widget();
var grid = widget.interactiveGrid('getViews', 'grid');
var model = grid.model;

var rowId = this.data.P1002_EMPNO;
var newValue = this.data.P1002_SAL;

model.forEach(function(record) {

  var currentRowId = model.getValue(record,'EMPNO');

  if (currentRowId == rowId ){
    model.setValue(record, affectedColumn, newValue );
  }
});

Published by Angel O. Flores Torres

System engineer, Applications engineer, working with C# and Oracle Apex 5, 5.1 since 2017. I specialize in Oracle APEX (Oracle Application Express )

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: