Dataset retorna os valores em colunas diferentes

Bom dia,

Criei um dataset onde este realiza uma consulta no banco do Fluig e retorna registros de uma determinada tabela. Porém, ao chamar este dataset na consulta de datasets disponível na IDE Eclipse observo que os valores foram setados nas colunas incorretas.

Parte do código que monta as colunas do dataset.

var newDataset = DatasetBuilder.newDataset();

newDataset.addColumn("usuarioId");

newDataset.addColumn("nomeUsuario");

newDataset.addColumn("sobrenomeUsuario");

newDataset.addColumn("emailUsuario");

newDataset.addColumn("grupoUsuarioId");

newDataset.addColumn("grupoUsuario");

newDataset.addColumn("imobiliariaId");

newDataset.addColumn("imoboliariaUsuario");

Parte do código que cria a linha com suas informações

while(rs.next()){

newDataset.addRow(new Array(rs.getString("usuario_id"), rs.getString("nomeusuario"), rs.getString("sobrenomeusuario") , rs.getString("emailusuario"), rs.getString("grupousuario_id"), rs.getString("grupousuario"), rs.getString("imobiliaria_id"), rs.getString("imobiliariausuario")));

}

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

@Gabriel,

Sem ver o código completo, fica complicado identificar o erro.

Tenta substituir o trecho que postou do seu código por este daqui:


var columnCount = rs.getMetaData().getColumnCount();    //Consulta os metadados e pega o número de colunas 
var created = false;                                    // Flag auxiliar

while(rs.next()) {                                // Enquanto houverem registros no RESULTSET (rs)
   if(!created) {                                // Se ainda não foram criadas as colunas 
       for(var i=1;i<=columnCount; i++) {        // Varre o total de colunas
          newDataset.addColumn(rs.getMetaData().getColumnName(i));        // Descobre o nome da coluna
       }
       created = true;
   }
   var Arr = new Array();                        // Array auxiliar

   /* Vai varrendo as colunas e adiciona as mesmas no Array. 
    * */
   for(var i=1;i<=columnCount; i++) {
       var obj = rs.getObject(rs.getMetaData().getColumnName(i));
       if(null!=obj){
          Arr[i-1] = rs.getObject(rs.getMetaData().getColumnName(i)).toString();
       }
       else {
          Arr[i-1] = " ";
       }
   }
   newDataset.addRow(Arr);        // Adiciono a linha atual no meu DATASET final
}

@Leonardo, basta concatenar o retorno no momento do addRow. Qualquer coisa me passa o fonte do teu dataset por email que eu te dou uma mão: contato@postal.eti.br

@Luiz, Se concatenar os campos no addRow, conseguiria fazer uma pesquisa por qualquer um dois campos? Possibilitando consultar por código de produto ou por descrição, por exemplo?

@Ana, isto mesmo. Concatenando dois campos do SQL em um do dataset, você vai conseguir filtrar por esse novo campo “CodDesc”