¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problema de Atualização de Grade ao Enviar Dados: Clique Duplo Necessário

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

Olá a todos!

Estou usando duas grades que exibem a lista e os detalhes dos Pedidos de Processo, respectivamente.

Passo todos os parâmetros necessários da tela da Página Inicial. O problema que estou enfrentando é que tenho que clicar no botão de enviar duas vezes para popular a ListGrid e para popular a DetailsGrid tenho que clicar em uma entrada duas vezes na ListGrid.

Estou usando uma consulta xml para popular as grades. Depois de clicar no botão de enviar uma vez, consigo ver o xml atualizado. Mas somente quando clico novamente no botão, obtenho valores na grade.

Espero que seja um problema com o updateGridEvent que está sendo utilizado... Alguém pode me ajudar com este problema?

Obrigada antecipadamente,

Ajitha

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

4 Respuestas

0
Cargando...

Olá Sascha,

Provavelmente deveria colocar isso em um tópico diferente, mas...

Você menciona "certifique-se de estar em XHTML". Concordo com isso geralmente. No entanto, você já tentou validar uma página irpt/htm com a tag de applet em um validador compatível com o W3C? É um pouco frustrante fazer o esforço adicional (embora pequeno) de usar XHTML apenas para o validador tropeçar na tag de applet que não é compatível com o padrão XHTML. Se não me engano, a tag de applet pode ser válida, mas o atributo mayscript não é, pois isso era proprietário da Netscape. Mesmo se você colocar mayscript="true" ou mayscript="mayscript", o validador ainda aponta o erro. E sem o atributo mayscript, os eventos do applet não funcionam. Fico pensando se você encontrou alguma maneira inteligente de resolver isso.

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

Olá Alin,

Lamento ser meticuloso, mas sugeriria que você alterasse algumas partes do seu código JavaScript para garantir a compatibilidade entre navegadores e garantir que funcione no futuro. Por exemplo:

- Atribua a cada elemento HTML (por exemplo, caixas de seleção) com os quais deseja interagir no código um atributo id único para essa página, por exemplo, <input type="button" id="btnExecute".../>

- Referencie os elementos utilizando document.getElementById("btnExecute") em vez de document.B1. Atribuir um ponteiro ao objeto (var button = ...) está correto.

- Certifique-se de codificar em XHTML (ou seja, cada documento HTML também deve ser um documento XML válido)

xMII vem com um controle de calendário baseado em applets de Java (iCalendar) que possui algumas conversões de formato de data e cálculos de data que podem ser úteis para você

Se deseja executar a consulta por trás de um iChart ou iGrid, utilize...

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

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

No acima, 'true' faz com que o applet execute a consulta novamente, 'false' simplesmente redesenha o applet

Se deseja executar uma transação mas não precisa de visualizações (por exemplo, atualizar um banco de dados com informações inseridas em um formulário HTML), utilize um iCommand, que basicamente é um iGrid sem a parte de visualização (tamanho 1x1 pixel). Os iCommands são executados da seguinte maneira:

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

Espero que isso seja útil,

Sascha

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

Obrigado pela sua resposta, Sascha e Alin...

Sascha, vou tentar criar o contêiner que você sugeriu.

Aliás, este é o código que utilizei:

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

Estou usando um menu suspenso para selecionar Planta, Tipo de Ordem e um script em JavaScript para o calendário.

function passarValores()

{

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

}

Também, você pode me sugerir como chamar uma transação sem abrir uma nova janela para isso?

°Obrigado antecipadamente!

Ajitha

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

Olá Ajitha,

Alin está correto, este é agora o comportamento 'normal' para o IE devido a um problema de licença com a tecnologia utilizada para incorporar objetos interativos para o usuário (por exemplo, Flash, applets de Java) em HTML. Você encontrará que não terá esse problema se não usar o IE

De qualquer forma, existem algumas maneiras de evitar esse problema. Basicamente, todas envolvem carregar dinamicamente o applet de Java após a página ter sido carregada usando JavaScript. Existem algumas maneiras de fazer isso (-> procurar no Google "clicar para ativar e usar este controle"), mas encontrei que a seguinte é a mais elegante:

Primeiro, envolva seu Applet de Java em um div e comente-o desta forma:

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

Em seguida, crie uma função JavaScript que é ativada no evento onload do corpo para percorrer os elementos de appletwrapper e remover os comentários HTML ao redor das tags de applet. Isso fará com que o IE as renderize na página e elas já estarão ativadas.

Espero que isso ajude,

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?