FDQuery: DataSet not in edit or insert mode

04/11/2018

0

Olha amigos

Estou com pequeno problema com meu componente FDQUERY que esta conetado a GRID. Tenho um procedure que varre a GRID e desmarcar ou marcar os Checkbox''''s, porém o seguinte erro acontece se eu interagrir com mouse na GRID antes de chamar a procedure
FDLojas: DataSet not in edit or insert mode
. Se eu não tiver nenhuma interação com a GRID diretamente. nenhum erro é apresentado.
Minha Aplicação é FireMonkey.
Danilo Oliveira

Danilo Oliveira

Responder

Post mais votado

17/01/2019

Eai Danilo, bom?

você deve ter colocado no evento OnDrawnColumnCell p/ alterar as marcações conforme Status no banco, certo ?

como ficou meio vago os detalhes do seu código, então imagino que se tu fizer o seguinte :
no OnClick do CheckBox verificar o estado do DataSet e só alterar o registro se estiver em edição/inserção...

if FDLojas.State in [dsEdit, dsInsert] then
begin
(SEU CÓDIGO...);
end;

e também remova da propriedade OnDrawnColumnCell e coloque no DataSource em OnDataChange, se estiver algo escrito errado me perdoe, estou sem o delphi aqui no momento...

dentro do DataSource só p/ fins de garantia também coloque um if:

if FDLojas.State in [dsBrowse] then
begin
if FDLojas.FieldByName('TESTE').Value = 1 then
CheckBox1.Checked := True
else
CheckBox1.Checked := False;
end;

qualquer dúvida só retornar, mas que fique p/ esclarecimento de outros usuários.

Thalles Oliveira

Thalles Oliveira
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar