GARANTIR DESCONTO

Fórum Indice Ascedente/Descendente #269193

18/02/2005

0

Tenho um componente ClientDataSet que alimenta um DBGrid e consigo indexar as informações do ClientDataSet a partir do da coluna selecionada, mas eu gostaria de dar a opção quando o usuário clicar na coluna se ele quer em ordem ascendente ou descente.
Como eu faço isto???

Desde já agradeço a ajuda de todos.


Andre_luis_c

Andre_luis_c

Responder

Posts

18/02/2005

Massuda

...mas eu gostaria de dar a opção quando o usuário clicar na coluna se ele quer em ordem ascendente ou descente. Como eu faço isto???
Não sei se é isso que você queria, mas pode fazer como no Windows Explorer em modo Detalhes. Quando clica pela primeira vez numa coluna ordena ascendente, os cliques seguintes alternam entre ascendente/descendente, até você clicar em outra coluna.


Responder

Gostei + 0

18/02/2005

Andre_luis_c

Como eu faço para alternar indexação Ascendente/Descendente. no primeiro clique na coluna eu orderno ascendente no segundo clique descendente. No DBGrid.


Responder

Gostei + 0

18/02/2005

Massuda

BD não é meu forte, por isso eu não saberia dizer de modo correto como mudar a indexação do ClientDataSet. Mas, quanto ao código da interface com o usuário, ele poderia ser mais ou menos assim:
type
  TSeuForm = class(...
    ...
    procedure SeuGridTitleClick(Column: TColumn);
  private
    ColunaOrdenada: TColumn;
    ColunaAscendente: Boolean;

...

procedure TSeuForm.SeuGridTitleClick(Column: TColumn);
begin
  if Column = ColunaOrdenada then
    ColunaAscendente := not ColunaAscendente;
  else begin
    ColunaOrdenada := Column;
    ColunaAscendente := True;
  end;

  if ColunaAscendente then
    // ordenar a coluna ordem ascendente
  else
    // ordenar a coluna ordem descendente
end;



Responder

Gostei + 0

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

Aceitar