Comportamento Estranho do ClientDataset
06/02/2010
0
Caros companheiros,
Estou com um comportamento estranho no clientdataset, meu projeto utiliza o padrão CDS+Provider+Query.
Ao fechar o CDS , mudar o SQL da query e reabrir o CDS, os controles de navegação e recordcount mostram que os registros foram trazidos, porem os controles consciente de dados simplesmente não os mostram, ou seja , grids, dbtext's e etcs, nas telas, não mostram as informações, mas o dbnavigator navega com todas as funcionalidades, inclusive se utilizada uma query que retorna muitos registros e utilizada a opção last do dbnavigator, o cursor de SQL aparece indicando a busca total dos dados ( porque utilizo PacketRecords = 10 ) e desliga seus controles de navegação adiante , tudo conforme os padrões, mas as informações não aparecem.
Já troquei os componentes de acesso , passando por IBO, UniQuery e IBX e nada.
Se eu não fecho o CDS, mudo o SQL da consulta e simplesmante dou um refresh no CDS, os dados são mostrados, mas o PacketRecords é desconsiderado, ou seja, se retornar 12000 registros, um tempo desnecessário será utilizado trazendo todos os registros.
Meu projeto utiliza padrão TDI e não sei afirmar desde quando isto aconteceu.
Agradeço antecipadamente qualquer sugestão.
Abraço a todos.
Emerson Azevedo
Curtir tópico
+ 0
Responder
Posts
08/02/2010
Emerson Azevedo
Resolvido. O uso do CDS com os componentes da UniDAC e Zeos em combinação com o Grid da DevExpress (cxGrid) deve ser manipulado de forma extremamente delicada, pois o cxGrid por padrão, traz todos os records pois utiliza-se de técnicas de filtragem próprias, desconsiderando o que estiver setado no packetrecords. O procedimento deve ser : Fechar o CDS principal, FEchar os CDS's ( se houverem) secundários (detalhes), Desconectar as relações master-details com o CDS principal, mudar o SQL da consulta, reabrir o CDS principal, reconectar as relações e reabrir os CDS's secundários. Agradecemos a atençao de todos.
Responder
Clique aqui para fazer login e interagir na Comunidade :)