Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
egamavido Novato

Registrado: Segunda-Feira, 11 de Abril de 2016 Mensagens: 70
|
Enviada: Qua Abr 08, 2020 10:01 am Assunto: (Resolvido) Selecionar apenas o Check Box em BDGrid |
|
|
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 |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qua Abr 08, 2020 12:30 pm Assunto: |
|
|
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 |
|
 |
egamavido Novato

Registrado: Segunda-Feira, 11 de Abril de 2016 Mensagens: 70
|
Enviada: Qua Abr 08, 2020 1:53 pm Assunto: |
|
|
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 |
|
 |
|