Bom dia,
Pessoal, o Diogo me ajudou com o desenvolvimento de um dataset Custom, para pegar os valores de um dataset de Formulario interno e filtrar apenas 4 colunas. Porém como os dataset customizados não realizam filtros, eu gostaria de saber como que eu poderia retornar os valores ja filtrados do Dataset Interno para meu Dataset Customizado, obedecendo a variáveis dentro do meu javascript em Formulario.
Codigo do JavaScript:
function showNewDatasetPartial() {
var div = document.getElementById("datasetDiv");
var codColigada = document.getElementById("inputColigada").value;
var atecodColigada = document.getElementById("inputateColigada").value;
var dtLanc = document.getElementById("inputdtLanc").value;
var atedtLanc = document.getElementById("inputatedtLanc").value;
var c1 = DatasetFactory.createConstraint("Empresa", codColigada, atecodColigada, ConstraintType.MUST);
//var c2 = DatasetFactory.createConstraint("DataLancamento", dtLanc, atedtLanc, ConstraintType.MUST);
//var c3 = DatasetFactory.createConstraint("activeVersion", "true", "true", ConstraintType.MUST);
var constraints = new Array(c1);
//Define os campos para ordenação
//var fields = new Array("Empresa");
//var sortingFields = new Array("drop_emp");
//Busca o dataset
try {
var dataset = DatasetFactory.getDataset("ds_form_lancamentoNF", null, constraints, null);
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;
}
Codigo Dataset Intermediário
function createDataset(fields, constraints, sortFields) {
var codColigada;
var atecodColigada;
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("Empresa");
dataset.addColumn("Fornecedor");
dataset.addColumn("NotaFiscal");
dataset.addColumn("DataLancamento");
var returnFields = new Array("drop_emp", "numfornecedor", "numnf", "datalancFiltro");
var datasetInterno = DatasetFactory.getDataset("ds_form_Lancamento_NF", returnFields, null, null);
for (var i = 0; i < datasetInterno.rowsCount; i++){
dataset.addRow(new Array(datasetInterno.getValue(i, "drop_emp"), datasetInterno.getValue(i, "numfornecedor"), datasetInterno.getValue(i, "numnf"), datasetInterno.getValue(i, "datalancFiltro"))); }
return dataset;
}