es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Establecer el valor de una columna desde la aplicación mediante el uso de JavaScript en la rejilla interactiva de Oracle APEX.

Quiero establecer el valor de la columna en la IG cuando el usuario presione Guardar. Tengo 2 columnas ‘creado_por’ y ‘actualizado_por’. Ahora, cuando mi columna de clave primaria :P8ID es nula, debería establecer el valor de la columna ‘creado_por’ utilizando el ítem de aplicación :SESSIONUSERID que se estableció al iniciar sesión, y ‘actualizado_por’ cuando :P8ID no es nulo.
Puedo establecer esto utilizando un proceso en un Formulario donde están disponibles los ‘Ítems de página’, pero ¿cómo hago lo mismo para las columnas de la IG? Por favor, guíame. –utilizando Apex 21.1–

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para establecer los valores de las columnas en una Cuadrícula Interactiva (IG) cuando el usuario presiona Guardar, se puede utilizar una Acción Dinámica Antes de Enviar.
    Siga estos pasos:

    1. Cree una nueva Acción Dinámica en la región de la IG y establezca el Evento en “Guardar”.
    2. En Acciones, cree una nueva Acción Verdadera y establezca la Acción en “Ejecutar código JavaScript”.

    3. En la sección de código JavaScript, puede utilizar el siguiente código para establecer los valores de las columnas:

    // obtener el widget de la Cuadrícula Interactiva
    var ig = apex.region('my_ig').widget();
    
    // recorrer las filas seleccionadas
    ig.getSelectedRecords().forEach(function (record) {
      // obtener el valor de la columna de clave primaria
      var id = record["P8_ID"];
    
      // verificar si la columna de clave primaria es nula
      if (id === null) {
        // establecer el valor de la columna created_by al ítem de aplicación SESSION_USER_ID
        ig.model.setValue(record, 'CREATED_BY', $v('SESSION_USER_ID'));
      } else {
        // establecer el valor de la columna updated_by al ítem de aplicación SESSION_USER_ID
        ig.model.setValue(record, 'UPDATED_BY', $v('SESSION_USER_ID'));
      }
    });
    
    1. Reemplace “my_ig” con la ID estática de su región de IG.

    2. Reemplace “P8_ID”, “CREATED_BY” y “UPDATED_BY” con los nombres de columna de su IG.

    3. Guarde los cambios y pruebe su IG creando o actualizando una fila.

    Al utilizar el código JavaScript anterior en una Acción Dinámica Antes de Enviar, puede establecer los valores de las columnas “created_by” y “updated_by” en función del valor de la columna de clave primaria de su IG.

Comments are closed.