Uso de Bridge para modificar os dados de registros de 4D

Este exemplo mostra como utilizar o comando dax_bridge.modifyRecord para obter registros de 4D.

Comando dax_bridge.modifyRecord

O comando dax_bridge.modifyRecord(selectionName, fieldArray, valueArray, recordID, handler, passedValue) é utilizado para modificar um registro de 4D

Sintaxe: dax_bridge.modifyRecord(a, b, c, d, e, f)
a = selectionName; O nome da seleção (table, view, dcs)
b = fieldArray; Array de nomes de campos a modificar.
c = valueArray; Array de valores a modificar.
b = recordID; número de identificação do registro que deseja mudar.
e = handler; Método do desenvolvedor que é chamado para tratar a resposta e XML de 4D. opcional
f = passedValue; JavaScript object, variable, array, etc. que se passa ao tratador. opcional


Tratador

O tratador é a função JavaScript que é executada quando chega a resposta de 4D. Deve ser definida antes de chamar .modifyRecord.

Begin JavaScript code:
function myRecordModified(http_response,passedVar) { if(http_response.readyState != 4) return; }
End JavaScript code

Exemplo:

Passo 1: Crie o tratador e uma função que chame a função de modificação.

Primeiro criamos ambas funções myRecordModified(http_response,passedVar) a qual é a função do tratador para a função .modifyRecord e myModifyRecord() a qual chama .modifyRecord.

Passo 2: Inicialize toda variável em "null" e crie o data grid.

Ao se registrar com sucesso, todas as variáveis são inicializadas em null. esta forma cada vez que se registre os campos variáveis estarão vazios.

$('fname').value = "";            Campo Nombre;
$('lname').value = "";            Campo Apellido;
$('aappmnt').checked = "";   Aceitar reunião. É um valor booleano;
$('nappmnt').value = "";        Seguinte reunião. O formato é (AAAA-MM-DD);
$('notes').value = "";            Campo Notas;
$('myRecordID').value = ""   RecordID é necessário para a função .modifyRecord;

Logo criamos o data grid

MyGrid = new dax_dataGrid('InlineEditing', $('rec_div'), 1, 0);
MyGrid.go();

O novo comando dax_dataGrid('InlineEditing', $('rec_div'), 1, 0) tem quatro parâmetros. O primeiro é o alias 4DAF alias, neste exemplo a vista DCS (Developer Create Selection). O segundo é a localização na página web onde se exibirá o data grid. O terceiro e quarto são opcionais e definem o número de linhas de cabeçalho e número de colunas bloqueadas desde a esquerda respectivamente.

Passo 3: Obter os valores de células de uma linha selecionada do data grid

A função getRowNumber(row,recordID) obtém os valores das células de uma linha selecionada e preenche estes valores para os campos a direita do data grid. Para inicializar os campos utilizamos MyGrid.getCellValue(row, i), onde row é a linha selecionada e i é o número da coluna. Chamamos esta função em 4DAF no comadno do evento DataRowClick:  MyGrid.onDataRowClick= getRowNumber. Neste ponto não especificamos parâmetros para getRowNumber e esta é uma expressão correta para 4DAF. 4DAF, passa automaticamente os argumentos corretos a função. Os valores devolvidos pela função é o número de linha selecionada e o número de registro selecionado.

Passo 4: Salve as mudanças no data grid.

Dentro da tag BODY existe um botão "Salvar". Este botão, em eventos on click chama a myModifyRecord().