Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

396
Vistas
Oracle APEX: cómo acceder al valor LOV emergente de Interactive Grid usando JavaScript (¡algo de ayuda de JS, por favor!)

Versión de Oracle APEX: 21.1.0

Tengo varias cuadrículas interactivas en una página de APEX (una para cada día de la semana) y quiero guardar los datos de cada una en una colección de APEX. La cuadrícula interactiva IG_MON contiene 3 columnas, sus ID estáticos son:

COL_MON_PROJECT

COL_MON_HOURS

COL_MON_DESCRIPCIÓN

Tengo una acción dinámica (para cada día) que ejecuta JavaScript que guarda los datos de IG en los siguientes elementos de la página:

P704_MON_PROJECT

P704_MON_HOURS

P704_MON_DESCRIPCIÓN

(Luego, después de que se haya ejecutado Javascript, llamo a un proceso de devolución de llamada de Ajax para agregar un miembro a mi colección APEX).

Está funcionando con éxito para las columnas COL_MON_HOURS y COL_MON_DESCRIPTION ya que los Tipos de columna son "Campo de texto".

Para la columna COL_MON_PROJECT , configuré esto como un LOV emergente que muestra "Nombre del proyecto" para mostrar y una ID para el valor devuelto.

Cuando uso mi código a continuación para guardar el valor LOV emergente COL_MON_PROJECT, en el estado de sesión puedo ver que P704_MON_PROJECT se muestra como [objeto Objeto].

He probado algunas opciones diferentes, pero no soy lo suficientemente competente en JavaScript para hacerlo bien.

 var col_project; var col_hours; var col_description; var model = apex.region("IG_MON").widget().interactiveGrid("getViews", "grid").model; col_project = model.getFieldKey("COL_MON_PROJECT"); col_hours = model.getFieldKey("COL_MON_HOURS"); col_description = model.getFieldKey("COL_MON_DESCRIPTION"); model.forEach(function (igrow) { apex.item("P704_MON_PROJECT").setValue(igrow[col_project]); apex.item("P704_MON_HOURS").setValue(igrow[col_hours]); apex.item("P704_MON_DESCRIPTION").setValue(igrow[col_description]); apex.server.process('POPULATE_COLLECTION_MON', { pageItems: '#P704_MON_DATE,#P704_MON_PROJECT,#P704_MON_HOURS,#P704_MON_DESCRIPTION' }, { dataType: 'text', success: function (data) { if (data != 'SUCCESS'); } }); });
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Descubrí esto con algunos mensajes de console.log y vi que Popup LOV se estaba resolviendo a:

 apex.item("P704_MON_PROJECT").setValue(igrow[col_project]) = {v: "229592305603457980799039089331487048885", d: "My Project Name"}

Solo necesitaba cambiar esto a:

 apex.item("P704_MON_PROJECT").setValue(igrow[col_project].v) = 229592305603457980799039089331487048885
about 4 years ago · Juan Pablo Isaza Denunciar

0

Un DA para obtener valores de un IG en js es complicado, no estoy seguro de cómo hacer que funcione su código. Pero para diagnosticar el código js, debe ejecutarlo manualmente en la consola del navegador y ver qué hace paso a paso, y allí también puede explorar qué es realmente el [objeto Objeto].

Pero para un enfoque diferente, si en cada columna crea un DA separado, puede abordar el valor de la columna con: COL_MON_PROJECT (o cualquier otra cosa).

Entonces, la tabla del lunes tendría tres DA, uno para el proyecto, uno para las horas y otro para la descripción. Cada uno probablemente tenga una acción Establecer valor, estableciendo el valor de P704_MON_... con MON_...

Además, por lo que entiendo de su código, parece estar usando cuadrículas interactivas de una sola fila, que llenan los elementos de la página. ¿Por qué no tener solo un IG para todos los días y luego, en el procesamiento del IG, llena la colección (si la colección aún es necesaria)? O si no desea un IG para todos los días, ¿por qué no simplemente completar los elementos de la página para cada día individualmente?

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda