Paginação - WebBroker - ClientDataSets - Como?
23/01/2004
0
Olá pessoal, espero que todos tenha iniciado bem o ano de 2004.
Estou com uma grande dúvida em relação a ClientDataSet e o PacketRecords. Eu não sei como utilizá-lo.
Como eu faço para trazer um certa quantidade, limitada, de registros?
Por exemplo.
with CDS do begin
CommandText :=
´ select ´ +
´ (NOME || SOBRENOME) as NOMECOMPLETO ´ +
´ from ´ +
´ FUNCIONARIOS ´ +
´ where ´ +
´ (NOME || SOBRENOME) like ´ +#39+ ´¬MARIA¬´ +39;
end;
Este SQL vai me retornar mais ou menos uns 100.000 registros, mas, eu só quero que ele me traga 30 e nada mais. Eu não quero que o CDS fique carregado com os 100.000 e sim só com os 30.
Fui claro?
Desde já eu sou muito grato.
Estou com uma grande dúvida em relação a ClientDataSet e o PacketRecords. Eu não sei como utilizá-lo.
Como eu faço para trazer um certa quantidade, limitada, de registros?
Por exemplo.
with CDS do begin
CommandText :=
´ select ´ +
´ (NOME || SOBRENOME) as NOMECOMPLETO ´ +
´ from ´ +
´ FUNCIONARIOS ´ +
´ where ´ +
´ (NOME || SOBRENOME) like ´ +#39+ ´¬MARIA¬´ +39;
end;
Este SQL vai me retornar mais ou menos uns 100.000 registros, mas, eu só quero que ele me traga 30 e nada mais. Eu não quero que o CDS fique carregado com os 100.000 e sim só com os 30.
Fui claro?
Desde já eu sou muito grato.
Mansur
Curtir tópico
+ 0
Responder
Posts
18/05/2020
Lindomar Sousa.
Olá pessoal, espero que todos tenha iniciado bem o ano de 2004.
Estou com uma grande dúvida em relação a ClientDataSet e o PacketRecords. Eu não sei como utilizá-lo.
Como eu faço para trazer um certa quantidade, limitada, de registros?
Por exemplo.
with CDS do begin
CommandText :=
´ select ´ +
´ (NOME || SOBRENOME) as NOMECOMPLETO ´ +
´ from ´ +
´ FUNCIONARIOS ´ +
´ where ´ +
´ (NOME || SOBRENOME) like ´ +#39+ ´¬MARIA¬´ +39;
end;
Este SQL vai me retornar mais ou menos uns 100.000 registros, mas, eu só quero que ele me traga 30 e nada mais. Eu não quero que o CDS fique carregado com os 100.000 e sim só com os 30.
Fui claro?
Desde já eu sou muito grato.
Estou com uma grande dúvida em relação a ClientDataSet e o PacketRecords. Eu não sei como utilizá-lo.
Como eu faço para trazer um certa quantidade, limitada, de registros?
Por exemplo.
with CDS do begin
CommandText :=
´ select ´ +
´ (NOME || SOBRENOME) as NOMECOMPLETO ´ +
´ from ´ +
´ FUNCIONARIOS ´ +
´ where ´ +
´ (NOME || SOBRENOME) like ´ +#39+ ´¬MARIA¬´ +39;
end;
Este SQL vai me retornar mais ou menos uns 100.000 registros, mas, eu só quero que ele me traga 30 e nada mais. Eu não quero que o CDS fique carregado com os 100.000 e sim só com os 30.
Fui claro?
Desde já eu sou muito grato.
No ClientDataSet que seja realizar a paginação, realize a configuração:
- Na propriedade FetchOnDemand deixe em false
- Na propriedade PacketRecords coloque o número de registros que deseja visualizar por vez.
Configure o evento AfterScroll, implementando o seguinte código:
- If ClientDataSet.Eof Then
begin
ClientDataSet.GetNextPacket;
end;
Nesta instrução, virá mais N quantidade de registros definido na propriedade PacketRecords.
Fonte: https://andersonoliveirasilva.wordpress.com/2013/10/26/delphi-paginador-utilizando-clientdataset/
Responder
Clique aqui para fazer login e interagir na Comunidade :)