Comportamento Estranho do ClientDataset

06/02/2010

4

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.
Responder

Posts

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
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira