GARANTIR DESCONTO

Fórum Como faço para reordenar uma dbgrid? #339031

20/03/2007

0

Eu tenho os dados já pesquisados numa dbgrid, gostaria de saber se têm como eu reordenar esses dados sem fazer um nova consulta? Eu queria apenas trabalhar com os dados já encontrados de várias formas de ordenamento, como: por código, por nome, por data, etc. Eu uso o IBQUERY para fazer as consultas.

Grato,

Vandeir


Vandeir

Vandeir

Responder

Posts

20/03/2007

Acacio

Cara tem o componente clientDataSet faz isso, mas a sua performance é muito ruim se for muito registros.


Procure aqui por TClienteDataSet tem muito material.


Responder

Gostei + 0

20/03/2007

Leufmt

COLOCAR O DBGRID EM ORDEM DO TITULO CLICADO
1 – No evento ontitleclick, criar uma variavel chamada campo, campo então receberá a coluna clicada, para depois a query fazer o order by pelo campo escolhido.

procedure Tconscli.gradeprocessosTitleClick(Column: TColumn);
var
campo:string;
begin
campo:=column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA,
application.processmessages; // para considerar algo que aconteça no dbgrid durante a entrada nesta procedure
qrCLIENTES.sql.clear; // LIMPA A QUERY
qrCLIENTES.sql.add(´select * from div1 order by ´+campo); // ESCREVE O SELECT COM O ORDER BY
if not QRCLIENTES.Prepared then
QRCLIENTES.Prepare;
QRCLIENTES.Open; // ABRE A QUERY COM A ORDEM ESCOLHIDA.
End;
column.Font.color:=clblue; // COLOCAR A COLUNA NA COR DESEJADA


Responder

Gostei + 0

20/03/2007

Fabiano Góes

nao sei qual a camada de acesso que você está usando,
mais vai uma dica com DBExpress:

após abrir a tabela com um ClientDataSet:
ClientDataSet.open;

você já pode fechar a conexão e trabalhar em cache:
SQLConnection.close;


apartir dai toda ordenação será feita em cache com o ClientDataSet sem precisar consultar novamente no Banco:

ClientDataSet.IndexFieldNames := ´NOME_DO_CAMPO´;


espero ter ajudado,
um abraço !!!


Responder

Gostei + 0

20/03/2007

Macario

Olá.

Há algum tempo no colega de forum emerson.en teve uma necessidade que tambem tive e ele desenvolveu uma solução.

vejam este tópico que irá ajudar muito voces:

[url=http://forum.clubedelphi.net/viewtopic.php?t=53308&start=0&postdays=0&postorder=asc&highlight=clientdataset+decrescenteurl]Ordenar ClientDataset (IndexFieldNames) em ordem decrescente[/url]


8)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar