GARANTIR DESCONTO

Fórum [Delphi] Seleção Múltipla através de um CheckBox #579414

27/03/2017

0

Boa tarde! Recentemente estou criando um projeto em que utilizo um TDBAdvGrid, onde tem uma coluna em que o usuário pode checar uma ou várias linhas como na imagem abaixo.

Imagem do Grid

Eu queria saber se alguém tem uma noção de como fazer através de outra check box como na imagem, ela seja marcado checkando todos os campos do grid. Já testei várias propriedades do DBAdvGrid, e com nenhuma eu obtive sucesso para marcar todas.

Se alguém já passou por isso e conhece uma solução, poderia me ajudar?

Obrigado, aguardo respostas.
Gxf

Gxf

Responder

Post mais votado

28/03/2017

Bom dia! Essa alteração deve ser feita no seu ClientDataSet ou Query, onde esta coluna está ligada.
Faça um isso:

ClientDataSet.First;
While not ClientDataSet.Eof do
begin    
    ClientDataSet.FieldByName('Seu_Campo_CheckBox').Value:= 'S';
    ClientDataSet.Next;
end;


Com isso, todos os seus registros serão selecionados. Abraços

Mateus Ribeiro

Mateus Ribeiro
Responder

Gostei + 5

Mais Posts

27/03/2017

Nomad

Também estou passando pela mesma situação... Sera que alguem saberia como resolver?

Obrigado
Responder

Gostei + 1

28/03/2017

Gxf

Bom dia! Essa alteração deve ser feita no seu ClientDataSet ou Query, onde esta coluna está ligada.
Faça um isso:

ClientDataSet.First;
While not ClientDataSet.Eof do
begin    
    ClientDataSet.FieldByName('Seu_Campo_CheckBox').Value:= 'S';
    ClientDataSet.Next;
end;


Com isso, todos os seus registros serão selecionados. Abraços


Obrigado amigo, o seu jeito funcionou mais precisei de um field da query para dar certo.

Entretanto onde checa no grid é apenas uma coluna comum sem field, e ontem na correria do trabalho deixei escapar uma procedure própria do AdvGrid em que realiza o que eu preciso de maneira simples e sem precisar ter um field na coluna.

Segue o que fiz, caso outra pessoa venha a ter uma dúvida parecida e deixe passar essa procedure:

procedure TfrmLedWeb.chkSelectAllClick(Sender: TObject);
begin
   if chkSelectAll.Checked then
      grdNotaFiscal.CheckAll(1)
   else
      grdNotaFiscal.UnCheckAll(1);
end;
Responder

Gostei + 1

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

Aceitar