Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

397
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda