Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Nota
titleAtenção!

Os select passados por constraint em dataset, A partir das atualizações 1.6.5 Liquid, 1.7.0 Lake e 1.7.1 Crystal Lake, os select passados por constraint em dataset serão bloqueados pelo serviço. Orientamos a leitura da documentação Datasets acessando banco de dados externo que contém um exemplo da correta utilização deste do procedimento.


Acessando um Dataset

...

Bloco de código
languagejs
themeEclipse
linenumberstrue
 DatasetFactory.createConstraint("sqlLimit", "10", "10", ConstraintType.MUST);
Nota
titleImportante

Observação: O valor considerado no sqlLimit é sempre o initialValue, o que for informado no finalValue não será considerado.

...

Nota
titleAtenção

As constraints podem ser utilizadas apenas para são aplicáveis apenas a Datasets internos. Em 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 , elas podem não ser suportadas, pois os dados provêm de fontes externas. No entanto, é possível implementar filtros na codificação do Dataset, desde que o desenvolvedor tenha preparado o código para aceitar e processar essas restrições, manipulando o objeto retornado e retirando as para remover 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:

Dica
titleDica

A constraint 'offset' define o ponto de início da pesquisa no dataset, permitindo a implementação de paginação.

Bloco de código
DatasetFactory.createConstraint("offset", "10", "10", ConstraintType.MUST);

A constraint offset permite definir quantos registros iniciais devem ser ignorados no resultado da consulta, retornando os próximos registros.

Exemplo: Ao usar a constraint offset com o valor 10, os primeiros 10 registros encontrados na consulta serão ignorados, e os próximos registros serão retornados conforme o limite definido.


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:

CódigoNomeCidade
CódigoNomeCidade
1Javier SpivaSão Paulo
2Cody BallowRio de Janeiro
3Javier NaramoreSão Paulo
4Max NeviusRio de Janeiro
5Noemi RoigerSão Paulo
6Lonnie CadwalladerRio de Janeiro
7Lorrie SpeceBrasília

...

Bloco de código
languagejs
linenumberstrue
	loadTable: function() {
		var that = this;
		var datasetReturned = DatasetFactory.getDataset("colleague", null, null, null);
		if (datasetReturned != null && datasetReturned.values != null && datasetReturned.values.length > 0) {
			var records = datasetReturned.values;
			for ( var index in records) {
				var record = records[index];
				that.mydata.push({
					id: record.userTenantId,
					name: record.colleagueName,
					email: record.mail
				});
			}
		}
		that.myTable = FLUIGC.datatable('#idtable' + "_" + that.instanceId, {
			dataRequest: that.mydata,
			renderContent: ['id', 'name', 'email'],
			header: [{
				'title': 'Code',
				'dataorder': 'name',
				'size': 'col-md-4'
			}, {
				'title': 'Name',
				'standard': true,
				'size': 'col-md-4'
			}, {
				'title': 'EMAIL',
				'size': 'col-md-4',
				'dataorder': 'ASC'
			}],
			search: {
				enabled: false,
			},
			scroll: {
				target: ".target",
				enabled: true
			},
			actions: {
				enabled: false,
			},
			navButtons: {
				enabled: false,
			},
			draggable: {
				enabled: false
			},
		}, function(err, data) {
			if (err) {
				FLUIGC.toast({
					message: err,
					type: 'danger'
				});
			}
		});
		that.myTable.on('fluig.datatable.loadcomplete', function() {
			if (!that.tableData) {
				that.tableData = that.myTable.getData();
			}
		});
	},

Para um exemplo completo do uso de widget com DataTable acesse Widget com DataTable, lembrando de trocar a function loadTable do widget pela função loadTable do exemplo acima.

;
	},

Para um exemplo completo do uso de widget com DataTable acesse Widget com DataTable, lembrando de trocar a function loadTable do widget pela função loadTable do exemplo acima.

Para um exemplo completo do uso de modal com Datable acesse Modal com DataTable e Dataset, lembrando sobre a limitação do datatable, no qual não é possível efetuar paginação pois não possui os recursos de offset e limit.


Acessar dataset via API

Via serviço REST

...

Disponibilizamos uma nova forma para acessar os datasets através de API utilizando serviços tipo REST. Para isso apresentamos logo abaixo um exemplo de como realizar essa pesquisa, siga os passos abaixo:

A API que fará a pesquisa é a API Dataset ([servidor_fluig]/dataset/swagger-ui/#/Dataset_handle/searchDatasetValues)

datasetId: Nome do dataset onde será realizado a pesquisa, este é o único parâmetro requerido.

field: Campos do dataset que serão retornados, caso não seja passado os valores todos os campos serão retornados.

offset: Quantos registros serão “pulados” antes de retornar os valores, esse campo é usado junto com o limit para realizar a paginação. Caso o dataset chamado for um dataset avançado, esse parâmetro pode ser acessado como uma constraint de nome offset.

limit: Quantidade máxima de registros que serão retornados na pesquisa. Caso o dataset chamado for um dataset avançado, esse parâmetro pode ser acessado como uma constraint de nome sqlLimit.

Nota
titleImportante

É importante definir o limit para evitar uma pesquisa com muitos registros, o que pode resultar em um retorno lento.

orderby: Nome do campo onde será feita a ordenação, pode ser adicionado _ASC ou _DESC para pesquisar em ordem ascendente e descendente respectivamente.

constraintsField: Nome do campo onde será passado o valor para pesquisa. Pode ser passado múltiplos campos mas para cada um deles será preciso passar um valor.

constraintsInitialValue: Valor que será usado para realizar o filtro de acordo com o campo passado no parâmetro constraintsField. Caso tenha passado mais de um campo para pesquisa será preciso passar os valores na mesma ordem para o filtro ser criado corretamente.

constraintsFinalValue: Caso o filtro desejado for uma faixa de valores o parâmetro constraintsInitialValue será o valor inicial e constraintsFinalValue será o valor final. Caso tenha passado mais de um campo para pesquisa será preciso passar os valores na mesma ordem para o filtro ser criado corretamente. Caso for passado o mesmo valor que o parâmetro constraintsInitialValue será feito a pesquisa somente por esse valor ignorando a faixa de valores.

constraintsType: Tipo de filtro que será aplicado no campo, os valores permitidos são:


  • MUST: Se utiliza quando os valores retornados precisam ser iguais ao valor passado na constraintsInitialValue e constraintsFinalValue para o campo constraintsField.

  • MUST_NOT: Se utiliza quando os valores retornados precisam ser diferentes ao valor passado na constraintsInitialValue e constraintsFinalValue para o campo constraintsField.

  • SHOULD : Assim como o MUST os valores retornados precisam ser iguais ao valor passado na constraintsInitialValue e constraintsFinalValue para o campo constraintsField. Esse tipo deve ser utilizado quando for feito mais de um filtro para o mesmo campo. Por exemplo: Pesquisar todos os colaboradores com o nome Antônio ou João.


Caso tenha passado mais de um campo para pesquisa será preciso passar os valores na mesma ordem para que o filtro seja criado corretamente.

constraintsLikeSearch: Valor booleano que determina se os valores nos campos constraintsInitialValue e constraintsFinalValue podem ser somente parte do valor total caso o booleano seja verdadeiro ou se os
valores precisam ser exatos caso o booleano seja falso. Quando o valor for verdadeiro poderá ser usado o símbolo % para determinar que será aceito qualquer valor a partir desse ponto, por exemplo: se na constraintsInitialValue for passado o valor “Anderson%” e o constraintsLikeSearch estiver como true será retornado todos os valores que comecem com “Anderson”. Caso tenha passado mais de um campo para a pesquisa será preciso passar os valores na mesma ordem para que o filtro seja criado corretamentePara um exemplo completo do uso de modal com Datable acesse Modal com DataTable e Dataset, lembrando sobre a limitação do datatable, no qual não é possível efetuar paginação pois não possui os recursos de offset e limit.