Dataset Customizado

O que tem de errado no meu código ?

function createDataset(fields, constraints, sortFields) {

var ds = DatasetBuilder.newDataset ();

ds.addColumn("Email");

var dataset = DatasetFactory.getDataset("colleague", new Array("mail"), null, null);

for(i=0; i < dataset.length; i++) { ds.addRows(dataset[i]);

}

return ds;

}

meu retorno está vazio.

Oi Diego!

Você precisa adicionar linhas conforme as colunas no seu dataset. Na sua implementação, você está adicionando mais colunas do que o seu dataset está esperando.

Tente algo assim:


function createDataset(fields, constraints, sortFields){

    //Cria novo dataset para retornar apenas os dados do dataset que será consultado
    var newDs = DatasetBuilder.newDataset(); 

    //Consulta apenas o e-mail dos usuários do fluig
    var dataset = DatasetFactory.getDataset("colleague", new Array("mail"), null, null);

    //Percorre todas as colunas do dataset consultado - dos usuários do fluig  e adiciona ao novo dataset
    for(j = 0; j< dataset.getColumnsCount(); j++)
    {
        //adiciona dinamicamente no novo dataset a(s) coluna(s) retornada no dataset consultado
        newDs.addColumn(dataset.getColumnName(j));
    }

    //Percorre todas os registros do dataset consultado
    for(j = 0; j < dataset.rowsCount; j++) {
        //Variável para armazenar a linha (registro) que será adicionado ao novo dataset
        var row = new Array();
        //Recupera cada coluna do dataset consultado
            for(var k = 0; k < dataset.getColumnsCount(); k++) {
                //Armazena o registro que será adicionado no novo dataset, passando as referências de coluna/linha do dataset consultado 
                row[k] = dataset.getValue(j,k);
            }
        //Adiciona cada linha do dataset consultado no dataset novo.
        newDs.addRow(row);
    }

    //Retorna o dataset novo apenas com as informações filtradas do dataset consultado
    return newDs;
}

Abs,

Marcos

opa blz Marcos seu codigo não rodou aqui.

Já atualizei o código logo depois que respondi o tópico… Acabei passando um parâmetro a mais para o DatasetFactory. Tenta de novo com a nova versão :wink:

A coluna já esta adicionada la em cima, só queri adicionar as Row vlw

Atualizei a resposta para ficar mais claro. As linhas adicionadas precisam ter a mesma quantidade de colunas do seu dataset

opa Marcos muito bom funciono perfeitamente, sou iniciante e estou tendo dificuldade vou estudar seu códico pra entender a lógica. Vlw

Fica à vontade para usar o fórum para te ajudar, Diego! Atualizei o código e comentei cada linha do dataset. Abs!

Screenshot_7.png

ai marcos consegui fazer com minha lógica, criei a coluna la em cima e adicionei as row pelo for !!!

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.