Este exemplo mostra como utilizar o comando dax_bridge.getRecord para obter os registros desde o backend do banco de dados 4D. Neste exemplo é mostrada um data grid a esquerda com os nomes das pessoas encontradas na tabela Contacts. Cada vez que um nome de contato é myClick, é realizada uma chamada ao banco do backend para obter os detalhes do registro e exibí-lo em div identificado como 'myArea'.
O comando dax_bridge.getRecord(selectionName, recordId, getRecordHandler, passedValue) é utilizado para obter somente um registro de 4D
Sintaxe: dax_bridge.getRecord(a, b, c, d)O data grid está configurado para mostrar unicamente os nomes que se encontram na tabela Contacts.
O data grid é colocado no div chamado 'choice'. As colunas 0, 2, e 3 são ocultadas via código. Um evento .onDataRowClick é registrado para que o data grid chame a função myClick() cada vez que se clique em uma linha.
Begin JavaScript code:var ContactsGrid = new dax_dataGrid('Contacts', $('choice'), 0, 0); ContactsGrid.go(); ContactsGrid.hideColumn(0); ContactsGrid.hideColumn(2); ContactsGrid.hideColumn(3); ContactsGrid.onDataRowClick = myClick;End JavaScript code
A função myClick() de JavaScript é executada cada vez que se clica em uma linha no data grid. Neste exemplo, a função myClick primeiro define a propriedade .innerHTML do div identificado como 'myArea' para dizer 'fething data from backend', logo o comando dax_bridge.getRecord é emitido. Quando se recebe uma resposta desde 4D a função getRecordHandler é executada.
Begin JavaScript code:function myClick(row, recordId){ $('myArea').innerHTML = "fetching data from backend"; dax_bridge.getRecord('Contacts', recordId, getRecordHandler); }End JavaScript code
O tratador é o terceiro parâmetro na chamada do comando dax_bridge.getRecord. Esta é a função JavaScript que é executada quando chega a resposta desde 4D. Neste exemplo, o tratador dá formato aos dados logo escreve os dados com formato para a propriedade .innerHTML do div identificado como 'myArea'.
Begin JavaScript code:Nota: Como parsedRecord[0].fields[7].value é um campo imagem no banco de dados, definimos o atributo SRC de uma tag IMG igual ao valor deste campo.function getRecordHandler(parsedRecord){ $output = ''; $output = $output + ' <strong>' + parsedRecord[0].fields[0].value + '<\/strong><br>'; $output = $output + ' ' + parsedRecord[0].fields[1].value + ''<br>''; $output = $output + ' ' + parsedRecord[0].fields[2].value + ','; $output = $output + ' ' + parsedRecord[0].fields[3].value; $output = $output + ' ' + parsedRecord[0].fields[4].value + '<br>'; $output = $output + ' ' + 'Phone: ' + parsedRecord[0].fields[5].value + '<br>'; $output = $output + ' ' + parsedRecord[0].fields[6].value + '<br><br>'; $output = $output + '<div style=\"margin-left: 305px;\"><img src=\"' + parsedRecord[0].fields[7].value + '\"><\/div>'; $('myArea').innerHTML = $output; }End JavaScript code