Apex · Interactive Grid

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 );
  }
});

Leave a comment