Paginação - WebBroker - ClientDataSets - Como?
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
Curtidas 0
Respostas
Lindomar Sousa.
23/01/2004
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/
GOSTEI 0