WIEvent | Início Anterior Próximo

WIEvent

O componente WIEvent oferece a funcionalidade às aplicações web desenvolvidas pelo WebIntegrator a troca (envio ou recebimento) de dados entre o cliente (browser) e o servidor sem a necessidade da submissão completa da página permitindo que o desenvolvedor, através da página, solicite ao servidor onde esteja hospedado uma aplicação WI a execução de comandos ao banco de dados e que as resultados dessas solicitações sejam retornados à página para que possam ser manipulados. Após os dados terem sido retornados ao cliente (browser) o WIEvent encerra a comunicação com o servidor e a partir daí começa a trabalhar com os dados localmente.
A manipulação dos dados no lado do cliente (browser) é feito através de chamadas a métodos JavaScript da biblioteca do WIEvent que se encontra no arquivo wievent.js que se encontra no diretório js dentro do próprio projeto. Esse arquivo será criado automaticamente no projeto quando for definido o primeiro componente WIEvent para esse mesmo projeto.
Para inserir a chamada à biblioteca do WIEvent numa página de um projeto usando o WIzard de páginas basta selecionar a opção <HEAD> e no campo Link JS adicionar o valor /|wi.proj.id|/js/wievent.js, o campo Link JS suporta que a definição de vários arquivos JS desde que cada chamada aos arquivos JS estejam separadas por vírgula.
Para inserir a chamada à biblioteca do WIEngine diretamente no código-fonte de uma página do projeto insira o trecho de código HTML que segue abaixo dentro da tag HEAD do documento HTML que representa a página.
<SCRIPT TYPE="text/javascript" SRC="/|wi.proj.id|/js/wievent.js"></SCRIPT>
A configuração de um componente WIEvent é feito através do WIBuilder podendo ser do tipo SELECT ou UPDATE sendo que o primeiro apenas envia ao banco de dados comandos de pesquisa enquanto o último apenas envia comandos de atualização. Uma página solicita a execução de um componente WIEvent através do seu identificador sendo que para componentes WIEvent do tipo SELECT deve-se utilizar o método selectdb() enquanto para chamar componentes WIEvent do tipo UPDATE deve-se utilizar o método updatedb().
Logo abaixo seguem listados os métodos disponíveis para interagir com componentes WIEvent, para saber como utilizar os métodos do WIEvent acesse a seção Como... da ajuda do WebIntegrator.

Método | Descrição
WIEvent(timeout, prjId)

Instancia um objeto WIEvent no lado cliente. O parâmetro timeout indica o tempo de espera em segundos para a resposta do WIEvent, o valor default é 30 segundos; o parâmetro prjId indica o nome do projeto onde está o compoente WIEvent a ser executado, o valor default é o nome do projeto chamado pela URL.
execute(metodo)
Solicita que o servidor execute o componente WIEvent correspondente e após o retorno da resposta do servidor executa a função JavaScript passada como parâmetro. Essa função JavaScript sempre receberá como primeiro parâmetro um objeto WIEvent que deverá ser usado para a chamada dos métodos necessários.
preread(nome)
Solicita a leitura da variável passada pelo parâmetro nome, a variável deve fazer parte da sessão do WebIntegrator. O conteúdo poderá ser lido posteriormente pelo método readobj() após a chamada do método execute().
readobj(nome)
Retorna o conteúdo da variável passada pelo parâmetro nome que deve ter siso previamente solicitado através do método preread().
writeobj(nome, valor)
Grava uma variável na sessão do WebIntegrator. A gravação somente irá se efetivar após a chamada ao método execute() ou selectdb().
selectdb(eventId)
Solicita a execução de um componente WIEvent do tipo SELECT identificado pelo parâmetro eventId. O componente só será efetivamente executado ao se chamar o método execute().
updatedb(eventId)
Solicita a execução de um componente WIEvent do tipo UPDATE identificado pelo parâmetro eventId. O componente só será efetivamnete executado ao se chamar o método execute().
next()
Avança para o próximo registro ou linha de dados retornado pela chamada ao método selectdb().
column(nome)
Retorna o valor da coluna indicada pelo parâmetro nome. O parâmetro nome pode ser tanto o nome da coluna quanto o seu índice no registro ou linha de dados, sendo que a contagem dos índices das colunas começa a partir de 1.
go(linha)
Move o cursor para o índice da linha indicada pelo parâmetro linha dentro dos registros ou linha de dados retornadas. A contagem dos índices das linhas começa a partir de 1.
rowcount()
Retorna o número de registros ou de linhas de resultado retornadas pela chamada ao método selectdb().

populateCombo(eventId, combo, código, valor) | Método utilitário que popula a combo passada pelo parâmetro combo com os dados retornados pela execução de um componente WIEvent do tipo SELECT identificado pelo parâmetro eventId. O parâmetro codigo indica o nome ou índice da coluna que será usada para popular os valores da combo já o parâmetro valor indica o nome ou índice da coluna que será usada para popular os textos dos valores da combo, se esses dois parâmetros forem omitidos o método irá utilizar os dados da primeira coluna para popular os valores e os dados da segunda coluna para popular os textos dos valores da combo.
setInputValue(eventId, input, coluna) | Método utilitário que configura o atributo VALUE de um campo INPUT do tipo TEXT passado pelo parâmetro input com o valor da coluna indicada pelo parâmetro coluna retornado por um componente WIEvent do tipo SELECT identificado pelo parâmetro eventId, caso a execução do WIEvent retorne mais de uma linha de resultado será utilizado o valor da primeira linha.