Fórum DBGrid em Ordem alfabética #195190

15/11/2003

0

Bom dia!
Como posso fazer para que minha Grid, mostre o registro dos NOMES em ordem alfabética, estou utilizando Table, desde já agradeço.

JuPa


Jupa

Jupa

Responder

Posts

15/11/2003

Pirasol

Digite no evento OnTitleClick do DBGRID:
dmTabelas.OrdenaGrid(cdsClientes, Column);

procedure OrdenaGrid(cdsTabela: TClientDataSet; Column: TColumn);
var sColumn: string;
intX: integer;

begin
if cdsTabela.Eof then Abort;

sColumn := ´DEFAULT ORDER´;

// Caso Seja Campo Calculado, Desconsiderar
if (Column.Field.FieldKind = fkCalculated) or (Column.Field.FieldKind = fkLookup) then exit;

// Indice já em Uso
if (Column.Field.FieldName = cdsTabela.IndexName) then exit;

// Verifica a Existencia do Indice
cdsTabela.IndexDefs.Update;

for intX := 0 to cdsTabela.IndexDefs.Count -1 do

if cdsTabela.IndexDefs.Items[intX].Name = Column.Field.FieldName then
sColumn := Column.Field.FieldName;

// Caso Tenha Encontrado o Indice
if sColumn = ´DEFAULT ORDER´ then
try
cdsTabela.AddIndex(Column.Field.FieldName,Column.Field.FieldName,[],´´,´´,0);
finally
sColumn := Column.Field.FieldName;
end;


cdsTabela.IndexName := sColumn;
end;

Quando o usuário clicar em qualquer coluna, a mesma será ordenada automaticamente.


Responder

Gostei + 0

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

Aceitar