¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problema de Actualización de Cuadrículas al Enviar Datos: Clic Doble Requerido

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

¡Hola a todos!

Utilizo dos cuadrículas que muestran la lista y los detalles de las Órdenes de Proceso respectivamente.

Paso todos los parámetros necesarios desde la pantalla de la Página Principal. El problema que enfrento es que tengo que hacer clic en el botón de enviar dos veces para poblar la ListGrid y para poblar la DetailsGrid tengo que hacer clic en una entrada dos veces en ListGrid.

Estoy utilizando una consulta xml para poblar las cuadrículas. Después de hacer clic en el botón de enviar una vez, puedo ver el xml actualizado. Pero solo cuando vuelvo a hacer clic en el botón, obtengo valores en la cuadrícula.

Espero que este sea un problema con el updateGridEvent que se está utilizando... ¿Alguien puede ayudarme con este problema?

Gracias de antemano,

Ajitha

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Sascha,

Probablemente debería poner esto en un hilo diferente, pero...

Mencionas "asegúrate de estar en XHTML". Estoy de acuerdo con esto generalmente. Sin embargo, ¿alguna vez has intentado validar una página irpt/htm con la etiqueta de applet en un validador compatible con W3C? Es un poco frustrante hacer el esfuerzo adicional (aunque pequeño) de usar XHTML solo para que el validador se tropiece con la etiqueta de applet que no es compatible con el estándar XHTML. Si mal no recuerdo, la etiqueta de applet puede ser válida, pero el atributo mayscript no lo es, ya que esto era propietario de Netscape. Incluso si pones mayscript="true" o mayscript="mayscript", el validador aún te señala. Y sin el atributo mayscript, los eventos de applet no funcionan. Me pregunto si has encontrado alguna forma ingeniosa de solucionar esto.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Alin,

Lamento ser meticuloso, pero te sugeriría cambiar algunas partes de tu código JavaScript para garantizar la compatibilidad entre navegadores y asegurarte de que funcione en el futuro. Por ejemplo:

- Asigna a cada elemento HTML (por ejemplo, cuadros desplegables) con los que quieras interactuar en el código un atributo id único para esa página, por ejemplo, <input type="button" id="btnExecute".../>

- Referencia los elementos utilizando document.getElementById("btnExecute") en lugar de document.B1. Asignar un puntero al objeto (var button = ...) está bien.

- Asegúrate de codificar en XHTML (es decir, cada documento HTML también debe ser un documento XML válido)

xMII viene con un control de calendario basado en applets de Java (iCalendar) que tiene algunas conversiones de formato de fecha y cálculos de fecha que podrían serte útiles

Si deseas ejecutar la consulta detrás de un iChart o iGrid, utiliza...

document.getElementById("iChartApplet").updateChart(true); (para iCharts)

document.getElementById("iGridApplet").updateGrid(true); (para iGrids)

En lo anterior, 'true' hace que el applet vuelva a ejecutar la consulta, 'false' simplemente vuelve a dibujar el applet

Si deseas ejecutar una transacción pero no necesitas visualizaciones (por ejemplo, actualizar una base de datos con información ingresada en un formulario HTML), utiliza un iCommand, que básicamente es un iGrid sin la parte de visualización (tamaño 1x1 píxel). Los iCommands se ejecutan de la siguiente manera:

document.getElementById("iCommandApplet").executeCommand(); (sin argumentos)

Espero que esto sea útil,

Sascha

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Gracias por tu respuesta, Sascha y Alin...

Sascha, intentaré hacer el contenedor que has sugerido.

Por cierto, este es el código que he utilizado:

<input type="button" value="Ejecutar" onclick="pasarValores()" name="B1" style="font-family: Trebuchet MS; font-size: 10pt; font-weight: bold; float: left">

Utilizo un menú desplegable para seleccionar Planta, Tipo de Orden y un script en JavaScript para el calendario.

function pasarValores()

{

var a = document.myForm.plant_selected.selectedIndex;

var planta = document.myForm.plant_selected.options[a].text;

var b = document.myForm.order_type.selectedIndex;

var tipo_ord = document.myForm.order_type.options<b>.text;

var fecha_ingresada = document.myForm.date_selected.value;

var mm = fecha_ingresada.substring(0,2);

var dd = fecha_ingresada.substring(3,5);

var aaaa = fecha_ingresada.substring(6,10);

var fecha = aaaa mm dd;

window.open('http://<nombre del servidor>/Lighthammer/Runner?IllumLoginName=<nombre de usuario>&IllumLoginPassword=<contraseña>&Transacción=RMvsBatch/ProcordList'

'&Planta=' planta '&TipoOrden=' tipo_ord '&FechaDesde=' fecha,null,"height=10,width=10,status=yes,toolbar=no,location=no");

document.Grid1.updateGrid(true);

}

También, ¿puedes sugerirme cómo puedo llamar a una transacción sin abrir una nueva ventana para ello?

¡Gracias de antemano!

Ajitha

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Ajitha,

Alin tiene razón, este es ahora el comportamiento 'normal' para IE debido a un problema de licencia con la tecnología utilizada para incrustar objetos interactivos para el usuario (por ejemplo, Flash, applets de Java) en HTML. Encontrarás que no tendrás este problema si no usas IE

De todos modos, hay algunas formas de evitar este problema. Básicamente, todas implican cargar dinámicamente el applet de Java después de que la página se haya cargado usando JavaScript. Hay algunas formas de hacer esto (-> buscar en Google "hacer clic para activar y usar este control"), pero he encontrado que la siguiente es la más elegante:

Primero envuelve tu Applet de Java en un div y coméntalo de esta manera:

<div id="appletwrapper1">
        <!-- <applet ...>
            ...
        </applet>
        -->
    </div>

Luego, crea una función de JavaScript que se activa en el evento onload del cuerpo para recorrer los elementos de appletwrapper y eliminar los comentarios HTML alrededor de las etiquetas de applet. Esto hará que IE las renderice en la página y ya estarán activadas.

Espero que esto ayude,

Sascha

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?