GARANTIR DESCONTO

Fórum CheckBox DbGrid #553997

16/05/2016

0

Boa noite!!!

Tenho um dbgrid aonde eu seleciono com um checkbox os projetos que eu tenho que faturar!!!Gostaria que os que estão selecionado quando eu clicar no botão gravar eles não serem exibidos na dbgrid para selecão novamente, mais ele só pega o ultimo selecionado ou seja somente o que está com a linha azul!

Como poderia resolver isso?

Imagem do DbGrid Com o CheckBox



Código de Gravação
procedure TFrmCondicaoPagamentoDinheiro.Button1Click(Sender: TObject);
begin
       try
            Transacao.TransactionID := 1;
            Transacao.IsolationLevel := xilREPEATABLEREAD;
            FrmPrincipal.ConexaoBd.StartTransaction(Transacao);
            FrmFaturarProjeto.SdsFaturarProjeto.Close;
            FrmFaturarProjeto.SdsFaturarProjeto.CommandType := ctQuery;
            FrmFaturarProjeto.SdsFaturarProjeto.CommandText:='UPDATE CADPROJETOSAMPLIACOES SET ';
            FrmFaturarProjeto.SdsFaturarProjeto.CommandText:=FrmFaturarProjeto.SdsFaturarProjeto.CommandText+'STATUS=:STATUS WHERE CODIGOPJA=:CODIGOPJA';
            FrmFaturarProjeto.SdsFaturarProjeto.ParamByName('CODIGOPJA').AsInteger := StrToInt(EdtCondicaoPagamentoDinheiroCodigoProjeto.Text);
            FrmFaturarProjeto.SdsFaturarProjeto.ParamByName('SELECIONADO').AsString := 'S';
            FrmFaturarProjeto.SdsFaturarProjeto.ParamByName('STATUS').AsString := 'FATURADO';
            FrmFaturarProjeto.SdsFaturarProjeto.ExecSQL;
            FrmPrincipal.ConexaoBd.Commit(Transacao);
            FrmFaturarProjeto.CdsFaturarProjeto.Close;
            FrmFaturarProjeto.CdsFaturarProjeto.Open;
          except
              on E : Exception do
                  begin
                      ShowMessage('Ocorreu um erro na tentativa de inclusão do registro: ' + E.Message);
                      FrmPrincipal.ConexaoBd.Rollback(Transacao);
                  end;
          end;
                  FrmCondicaoPagamentoDinheiro.Close;
        end;
end;
Bruno Henrique

Bruno Henrique

Responder

Posts

16/05/2016

Bruno Henrique

Senhores poderiam me ajudar?
Responder

Gostei + 0

16/05/2016

Bruno Henrique

Subindo
Responder

Gostei + 0

18/05/2016

Bruno Henrique

Alguém saberia me dizer se eu fizer um clone do dataset daria certo?
Responder

Gostei + 0

18/05/2016

Raimundo Pereira

Tente ao clicar no botão gravar varrer o grid e aplicar o post do campo('SELECIONADO').AsString := 'S';

No final do for

você monta um select ou um filtro onde o campo ('SELECIONADO').AsString := 'S';
Responder

Gostei + 0

18/05/2016

Raimundo Pereira

Acho que se você colocar para gravar a seleção no ato da mesma, você pode colocar um botão (Apenas Selecionados)
E Filtrar.

Exemplo : checkbox :=true >> Já grava no campo do registro ='S';

(Apenas Selecionados )= SELECT * FROM SUABELA WHERE SELECIONADO='''+'S'+'''';
Responder

Gostei + 0

18/05/2016

Bruno Henrique

P2 seria, mais acontece o seguinte!!!

Eu pensei em fazer isso, mais se o usuário na hora de selecionar selecionou errado e clicar no botão faturar ele vai gravar igual a sim('s'), mais na hora de informar a condição de pagamento, ele viu que selecionou errado e fechar o form e abrir novamente, ele não vai aparecer no filtro, por que vai estár com o sim('s').

Teria alguma solução?
Responder

Gostei + 0

18/05/2016

Bruno Henrique

P2. esqueci de mencionar que eu desenhei o check box no dbgrid, e está para seleconar no onclick do evento
Responder

Gostei + 0

18/05/2016

Raimundo Pereira

O que você pode fazer também.

1. Client Data SET = Temporário criado no onshow do form.
Com os mesmos campos.

Na abertura do Form, coletaria os dados da sua tabela original e ir preenchendo Client Data SET = Temporário.
Logo esse grid fica linkado ao TMP.

Deixaria o botão gravar.
No evento do botão gravar realizaria um for no TMP e Atualizaria sua tabela original.
Responder

Gostei + 0

19/05/2016

Bruno Henrique

P2, boa noite!!!

Te mandei um email.

Grato
Responder

Gostei + 0

22/05/2016

Raimundo Pereira

Brother, estava viajando só pude verificar o email hoje.
Responder

Gostei + 0

22/05/2016

Raimundo Pereira

Teve algum progresso ?
Responder

Gostei + 0

22/05/2016

Bruno Henrique

P2, tive um progresso...rss muito pouco... Ele baixa mais só baixa o primeiro registro ou se não somente o último, mais nunca os que eu selecionei no checkbox!!!
Responder

Gostei + 0

22/05/2016

Bruno Henrique

Já revirei o código mais não consigo resolver
Responder

Gostei + 0

22/05/2016

Raimundo Pereira

Me add no Skype
Responder

Gostei + 0

23/05/2016

Bruno Henrique

P2, boa noite!!!

Qual o seu skype?
Responder

Gostei + 0

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

Aceitar