none
Carregar todos registros do DataSource RRS feed

  • Pergunta

  • Bom dia a todos,

     

    Sou novo no desenvolvimento do Ax e tenho algumas dificuldades quando ao seu desenvolvimento.

    Estou trabalhando com forms onde realizo uma consulta em uma procedure no SQL Server que me retorna varios registros que os preencho em uma table.

    Porém ao realizar a visualização destes registros no form, o Ax limita o numero de registros que são carregados no cache onde somente com a rolagem na grid é carregado os demais.

    Existe algum metodo ou propriedade do datasource que possa retirar essa limitação do carregamento dos registros na grid para exibir todos os registros que contém no DataSource?

     

    Atenciosamente,

    Bruno Purcinelli.

    Desenvolvedor Microsoft Dynamics Ax

    quinta-feira, 1 de setembro de 2011 14:09

Respostas

  • Ricardo,

     

    Obrigado pela explicação.

    Para solucionar este problema utilizei um metodo do DS chamado setRecord(); onde instanciei a minha tabela sem registro e apliquei <DataSource>_DS.setRecord(MyTable);

    Com isso ele carregou todos os registros sem precisar realizar nenhum filtro. Dai então só chamar a posição desejada.

     

    Abraços.

    • Marcado como Resposta Bruno Purcinelli quinta-feira, 1 de setembro de 2011 19:07
    quinta-feira, 1 de setembro de 2011 19:07

Todas as Respostas

  • Opa, bom dia.

     

    Li sobre isto ontem, não consegui achar onde, mas lembro que até então não tinham achado como contornar isto.

     

    No entanto, gostaria de entender o que te faz precisar ter todos os registros carregados de uma só vez.

     

    Abraço!


    []s Pichler http://www.daxbr.com.br
    quinta-feira, 1 de setembro de 2011 14:30
  • Ricardo,

     

    Tenho um projeto de fluxo de caixa onde trabalho em união uma tree e a grid com os registros.

    No momento que eu seleciono um nó da minha tree, automaticamente seto a posição do DataSource do registro referente ao nó selecionado.

    Ao iniciar o datasource com o numero de registros inferior a limitação do ax, consigo selecionar o registro referente, entretanto quando inicio ou faço uma consulta no datasource que contem o numero maior que o ax limita, nao consigo selecionar um determinado registro que esteje alem do que o ax permite, somente com a rolagem da grid carregando todos os registros consigo selecionar qualquer registro.

     

    Abraços

    quinta-feira, 1 de setembro de 2011 14:44
  • Entendi.....

    Nesse caso eu acredito que a cada seleção no tree você tenha que executar novamente o executeQuery do DS, fazendo assim um filtro nos registros exibidos e conseguindo o resultado esperado.

     

    Pelo menos é o que consegui entender pelo que me explicou.

     

    Abraço.


    []s Pichler http://www.daxbr.com.br
    quinta-feira, 1 de setembro de 2011 14:46
  • Ricardo,

     

    Obrigado pela explicação.

    Para solucionar este problema utilizei um metodo do DS chamado setRecord(); onde instanciei a minha tabela sem registro e apliquei <DataSource>_DS.setRecord(MyTable);

    Com isso ele carregou todos os registros sem precisar realizar nenhum filtro. Dai então só chamar a posição desejada.

     

    Abraços.

    • Marcado como Resposta Bruno Purcinelli quinta-feira, 1 de setembro de 2011 19:07
    quinta-feira, 1 de setembro de 2011 19:07
  • Bruno, o mais correto seria você usar o objeto query do data source junto com o objeto queryBuildRange.

    No click do nó na tree, você chama queryBuildRange.value(queryvalue(#seu filtro#)); e chama suatabela_ds.executeQuery()

    O grid vai ser atualizado com os registros desejados.

    Acredito que o desempenho ficaria melhor do que trazer tudo.

    Abs!


    Software Development Engineer - Global Finance Management Team - www.daxdev.com.br -
    quinta-feira, 1 de setembro de 2011 23:10