Variavel em Formulario para Constraint em Dataset Intermediario.

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; 

}
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags datasets ou faça a sua própria pergunta.