Como ordenar os dados de um ClientDataSet?
Olá amigos da comunidade, nesta dica vou mostrar como ordenar os registros
de um ClientDataset.
No componente ClientDataset não há instrução SQL, então vem a dúvida, como
mudar a ordenação?
A responta é extremamente simples, utilize a propriedade IndexFieldNames.
Veja o exemplo abaixo:
1
2
3
4
| procedure TForm1.Button1Click(Sender: TObject);
begin
CDSAgenda.IndexFieldNames := 'NOME';
end; |
procedure TForm1.Button1Click(Sender: TObject);
begin
CDSAgenda.IndexFieldNames := 'NOME';
end;
Neste caso, estamos ordenando os registros pelo campo nome.
Deste modo é possível ordenar por qualquer Field, desde
que o FieldKind do campo seja igual a fkData.
Esta função do componente permite que o programador
criei recursos muito interessantes, como por exemplo, ordenar
um DBGrid pelo clique da coluna.
Vamos a outro exemplo, vá na propriedade Options do DBGrid e deixe
dgTitleClick = True, depois no evento OnTitleClick deixe conforme o
exemplo abaixo:
1
2
3
4
| procedure TForm1.GridAgendaTitleClick(Column: TColumn);
begin
CDSAgenda.IndexFieldNames := Column.FieldName;
end; |
procedure TForm1.GridAgendaTitleClick(Column: TColumn);
begin
CDSAgenda.IndexFieldNames := Column.FieldName;
end;
Se alguém usa o FDMemTable, os exemplo são válidos para ele também.
Ainda há mais recursos, mas este ficarão para uma próxima.
Bom estudo a todos!
Dúvidas ou sugestões, deixe nos comentários do post.
-
Giovani Da Cruz
-
10.450 views
- 0 comentários
- 1 de julho de 2015
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo