ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

(Resolvido) Selecionar apenas o Check Box em BDGrid

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
egamavido
Novato
Novato


Registrado: Segunda-Feira, 11 de Abril de 2016
Mensagens: 70

MensagemEnviada: Qua Abr 08, 2020 10:01 am    Assunto: (Resolvido) Selecionar apenas o Check Box em BDGrid Responder com Citação

Olá pessoal,

Tenho um form com DBGrid onde eu crio e seleciono um check box que está funcionando corretamente, mas gostaria de melhora-lo. Quando seleciono uma linha, em qualquer posição que seja, o check box é alterado, mas eu gostaria que apenas clicando na célula que contem o check box gerasse essa função. Tentei o seguinte código:

Citação:

procedure Tfrm_RelMotorista.DBGrid2DblClick(Sender: TObject);
begin
if (DBGrid2.SelectedField.FieldName = 'A') then
begin
if DMDados.CDSMotorista.RecordCount > 0 then
begin
DMDados.CDSMotorista.Edit;
if DMDados.CDSMotoristaA.AsString = 'x' then
DMDados.CDSMotoristaA.AsString := ''
else DMDados.CDSMotoristaA.AsString := 'x';
DMDados.CDSMotorista.Post;
DMDados.CDSMotorista.ApplyUpdates(0);
end;
end;
end;


Eu acreditava que esta linha deveria resolver a situação:
Citação:

if (DBGrid2.SelectedField.FieldName = 'A') then


mas isso não ocorreu. Já tentei deixar o "dgmultiselect" do DBGrid em false, mesmo assim nada. Também procurei em outros posts, então, enfim, agradeço a ajuda.


Editado pela última vez por egamavido em Qua Abr 08, 2020 1:53 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Qua Abr 08, 2020 12:30 pm    Assunto: Responder com Citação

Use o seu código no evento OnCellClick do DBGrid.

E troque esta linha:

Código:
if (DBGrid2.SelectedField.FieldName = 'A') then

Por esta:
Código:
if Column.FieldName = 'A' then

A sub-propriedade dgRowSelect da propriedade Options deve estar como False.
_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
egamavido
Novato
Novato


Registrado: Segunda-Feira, 11 de Abril de 2016
Mensagens: 70

MensagemEnviada: Qua Abr 08, 2020 1:53 pm    Assunto: Responder com Citação

natanbh1 escreveu:
Use o seu código no evento OnCellClick do DBGrid.

E troque esta linha:

Código:
if (DBGrid2.SelectedField.FieldName = 'A') then

Por esta:
Código:
if Column.FieldName = 'A' then

A sub-propriedade dgRowSelect da propriedade Options deve estar como False.


Jóia Natan. Funcionando!

Muito obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB