Bridge - Exemplo dax_bridge.addRecordBatch

Este exemplo mostra como utilizar o comando dax_bridge.addRecordBatch para adicionar registros a uma seleção. Este comando adiciona múltiplos registros com uma chamada ao backend. Introduza dados nos campos de entrada e clique no botão "Armazenar registros". Os dados serão armazenados em arrays javascript. Ao clicar no botão "Salvar registros armazenados" todo os dados armazenados nos arrays na seleção são armazenados, o data grid de dados para exibir a nova seleção é atualizado e os arrays são esvaziados.

Como utilizar dax_bridge.addRecordBatch

Este comando é utilizado para adicionar múltiplos registros a seleção que se especifica nos parâmetros.

dax_bridge.addRecordBatch(selectionName, fieldArray, valueArray, handler, variable)
         selectionName: O nome da seleção (table, view, dcs)
         fieldArray: array 2D de campos a adicionar (exemplo: [['fName','lName'],['fName','lName']]
         valueArray: array 2D de valores a adicionar (exemplo: [['John','Doe'],['Jane','Doe']]
         handler: Uma função JavaScript executada depois de uma resposta de 4D (addRecordHandler). opcional
         variable: A JavaScript object, variable, array, etc. que se passa ao tratador. opcional

Configurando a página (HTML)

Formulário de entrada
A funcionalidade de entrada desta página é alcançada utilizando um formulário e campos de entrada. Cada campo de entrada tem um etiqueta. É importante declarar um identificador para cada campo de entrada. Assim é como se acessa aos campos por código javascript.

Data grid
O data grid é carregado em um registro exitoso a 4DAF. É declarado por fora de toda função específica JavaScript com a seguinte linha de código:

var myGrid = new Object();
myGrid= new dax_dataGrid('InlineEditing', $('grid'), 0, 0);
myGrid.go();
É carregado e inicializado pelas seguintes linhas de código:
O data grid é atualizado depois que o registro tenha sido adicionado com uma chamada JavaScript:
myGrid.populate();
Para maiores informações sobre o objeto data grid veja a documentação em daxipedia.

Funções JavaScript

dax_loginSuccess
Esta função é executada em um registro exitoso a 4DAF.

Begin JavaScript code:
function dax_loginSuccess(){ $('inputArea').style.display='block'; myGrid= new dax_dataGrid('InlineEditing', $('grid'), 0, 0); myGrid.go(); }
End JavaScript code

clearInputs
Esta função é chamada pelo tratador e esvazia as entradas quando se adiciona um registro.

Begin JavaScript code:
function clearInputs(){ $('firstName').value=''; $('lastName').value=''; $('acceptApt').checked=false; $('nextApt').value=''; $('notes').value=''; }
End JavaScript code

storeRecord
Esta função é chamada pelo botão "Armazenar registro". Armazena temporariamente os registros em arrays de maneira que possam ser adicionados como um batch.

Begin JavaScript code:
function storeRecord(){ var currentFields_a = new Array(); currentFields_a.push('Firstname'); currentFields_a.push('Lastname'); currentFields_a.push('Accept Appointment'); currentFields_a.push('Next Appointment'); currentFields_a.push('Notes'); fields_a.push(currentFields_a); var currentValues_a = new Array(); currentValues_a.push($('firstName').value); currentValues_a.push($('lastName').value); var bool = 'false'; if ($('acceptApt').checked==true) bool = 'true'; currentValues_a.push(bool); currentValues_a.push($('nextApt').value); currentValues_a.push($('notes').value); values_a.push(currentValues_a); clearInputs(); }
End JavaScript code

addRecords
Esta função é chamada pelo botão "Salvar registros armazenados" e utiliza dax_bridge.addRecordBatch para adicionar múltiplos registro a seleção InlineEditing. Os arrays que armazenam registros são esvaziados.

Begin JavaScript code:
function addRecords(){ dax_bridge.addRecordBatch('InlineEditing', fields_a, values_a); myGrid.populate(); fields_a.length=0; values_a.length=0; }
End JavaScript code