Obter dados do ClientDataSet
:D
Olá pessoal.
Tenho uma aplicação que utiliza um dbgrid, um clientdataset, um datasetprovider e uma query (bde). Bem, faço uma conexão com o banco de dados pela Query. O DbGrid fica ligado com o ClientDataSet.
Nessa aplicação, o usuário clica na coluna (cabeçalho) do dbgrid e eu mostro para ele os dados que se encontram nessa coluna, usando um ListBox, para que ele possa escolher um item e eu então filtro os dados pelo ClientDataSet usando o item que ele escolheu (filtro do estilo Excel).
Porém, para mostrar somente os dados de uma coluna para o usuário, eu tenho que montar um select para buscar no banco de dados os valores que estão apenas naquela coluna em que o usuário clicou. Isso fica demorado, visto que existem muitos registros no banco.
Existe alguma forma de eu poder obter do ClientDataSet ou do DbGrid, os registros que existem em memória, sem precisar ir até o banco??
Não sei se conseguiram me entender. Se tiverem dúvida, por favor, coloque uma mensagem nesse tópico.
Obrigado.
Olá pessoal.
Tenho uma aplicação que utiliza um dbgrid, um clientdataset, um datasetprovider e uma query (bde). Bem, faço uma conexão com o banco de dados pela Query. O DbGrid fica ligado com o ClientDataSet.
Nessa aplicação, o usuário clica na coluna (cabeçalho) do dbgrid e eu mostro para ele os dados que se encontram nessa coluna, usando um ListBox, para que ele possa escolher um item e eu então filtro os dados pelo ClientDataSet usando o item que ele escolheu (filtro do estilo Excel).
Porém, para mostrar somente os dados de uma coluna para o usuário, eu tenho que montar um select para buscar no banco de dados os valores que estão apenas naquela coluna em que o usuário clicou. Isso fica demorado, visto que existem muitos registros no banco.
Existe alguma forma de eu poder obter do ClientDataSet ou do DbGrid, os registros que existem em memória, sem precisar ir até o banco??
Não sei se conseguiram me entender. Se tiverem dúvida, por favor, coloque uma mensagem nesse tópico.
Obrigado.
Thiagopo
Curtidas 0
Respostas
Biffi
22/12/2004
Só para confirmar,
O usuário clica no título da coluna e ai você exibe os dados dessa coluna em um List. Box?
Se for isso, uma maneira de resolver seu problema seria o de percorrer todo ClientDataSet e inserindo um a um no list box, sem a necessidadde de retornar ao banco.
exemplo:
ClientDataSet1.First;
while not ClientDataSet1.EOF do begin
ListBox1.Items.Add(ClientDataSet1.FieldByName(´NomedoCampoClicado´).AsString);
ClientDataSet1.Next;
end;
Se eu entendi errado, me desculpe e me esclareça, do contrário espero ter te ajudado.
O usuário clica no título da coluna e ai você exibe os dados dessa coluna em um List. Box?
Se for isso, uma maneira de resolver seu problema seria o de percorrer todo ClientDataSet e inserindo um a um no list box, sem a necessidadde de retornar ao banco.
exemplo:
ClientDataSet1.First;
while not ClientDataSet1.EOF do begin
ListBox1.Items.Add(ClientDataSet1.FieldByName(´NomedoCampoClicado´).AsString);
ClientDataSet1.Next;
end;
Se eu entendi errado, me desculpe e me esclareça, do contrário espero ter te ajudado.
GOSTEI 0