Histórico da Página
...
Vários locais do fluig podem fazer uso dos dados retornados pelos Datasets. Serão apresentadas abaixo as variações na forma de acessá-los ou de manuseá-los.
Widgets
No desenvolvimento de um widget, é possível acessar dados de Datasets, através da linguagem Javascript, utilizando a biblioteca DatasetFactory.
...
Âncora | ||||
---|---|---|---|---|
|
Quando um Dataset é acessado via um ponto de customização como eventos globais, eventos de processos, eventos de formulário ou mesmo em outros Datasets, isto é feito através de chamadas JavaScript que serão executadas no lado servidor.
...
Nota | |||||||||
---|---|---|---|---|---|---|---|---|---|
Para utilizar a função likeSearch utilizando a biblioteca vcXMLRPC.js, deve ser adicionado mais um parâmetro no método DatasetFactory.createConstraint, e não utilizar o método setLikeSearch(true). Exemplo:
Isto é válido apenas para a utilização da biblioteca vcXMLRPC.js. |
Constraints Avançadas Avançadas
Existe uma constraint em especial que é utilizada para limitar o número de registros na consulta SQL chamada de sqlLimit. Então é possível definir o número máximo de registros que uma consulta SQL pode retornar, porém o número de registros pode ser menor que o esperado, devido algumas validações que são feitas após o retorno dos dados. Por exemplo: O sqlLimit tem um valor 100 e é feita uma consulta em um serviço de dados de uma definição de formulário, esta consulta retornará os 100 registros, porém após isso são executadas validações para verificar se o formulário está ativo e se o usuário corrente tem permissão para visualizar os dados fazendo com que o retorno possa ser menor que 100. Para o sqlLimit é utilizada a seguinte sintaxe:
...
Nota | ||
---|---|---|
| ||
As constraints podem ser utilizadas apenas para Datasets internos. Datasets avançados não aceitam constraints, pelo fato de os dados serem externos, não sendo possível aplicar o filtro em sua origem. Para Datasets avançados o tratamento de filtros deve ser feito na codificação do Dataset, manipulando o objeto retornado e retirando as informações desnecessárias. |
Exemplificação de uso de Constraints
Considere os valores da tabela abaixo sendo utilizadas como um serviço de dados a partir de uma definição de formulário para exemplificação dos exemplos:
...
Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Formulários
Em formulários, é possível que um ou mais campos possam exibir ou consultar dados de Datasets utilizando Javascript ou tags.
...
Nota | ||
---|---|---|
| ||
Este modelo de acesso faz com que o Dataset seja transportado do servidor para o cliente, ou seja, o navegador do usuário. Por isso, é importante observar a quantidade de informações que será manuseada, caso contrário pode-se ter problemas de consumo excessivo de banda ou performance. |
Exemplo:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
function showNewDatasetFull() { var div = document.getElementById("datasetDiv"); //Busca o dataset try { var dataset = DatasetFactory.getDataset("colleague"); div.innerHTML = showDataset(dataset); } catch(erro) { div.innerHTML = erro; } } function showDataset(dataset) { var tabela = "<table>"; //Monta o cabeçalho tabela += "<tr>"; for (var i = 0; i < dataset.columns.length; i++) { tabela += "<th>" + dataset.columns[i] + "</th>"; } tabela += "</tr>"; //Monta os registros for (var x = 0; x < dataset.values.length; x++) { tabela += "<tr>"; var row = dataset.values[x]; for (var y = 0; y < dataset.columns.length; y++) { tabela += "<td>" + row[dataset.columns[y]] + "</td>"; } tabela += "</tr>"; } tabela += "</table>"; return tabela; } |
...
Informações | ||
---|---|---|
| ||
Permitir que o usuário selecione treinamentos utilizando o dataset de Aprendizado |
Webservices
O fluig disponibiliza um conjunto de WebServices que permitem integrar aplicações de terceiros à plataforma. Dentre os serviços disponibilizados, o serviço ECMDatasetService permite fazer o acesso a um Dataset. Para verificar a lista de serviços disponíveis no fluig, acesse a URL http://<servidor>:<porta>/webdesk/services.
A forma de uso de um Web Service varia de acordo com a tecnologia utilizada pela aplicação cliente. Consulte a documentação da tecnologia escolhida pra obter detalhes sobre como acessar Web Services.
Via DataTable
Para consumir um Dataset dentro de um DataTable, também utilizamos a função DatasetFactory. É necessário incluir a biblioteca vcXMLRPC.js no final dos arquivos edit.ftl e view.ftl do widget para que seja possível utilizar a função.
...