Celamar 0 Denunciar post Postado Dezembro 20, 2004 Como faço para reconhecer que a célula onde eu estava informado um dado perdeu o foco...Eu quero fazer o seguinte.. validar uma sigla que consta sempre na coluna 0 do StringGrid quando a mesma perder o focu (eu tenho que varres o grid inteiro para compara se a silga já havia sido informada)..Alguem sabe de algum recurso, evento, função, qualquer coisa que dê para fazer isso????Obrigada! Compartilhar este post Link para o post Compartilhar em outros sites
Dopi 0 Denunciar post Postado Dezembro 20, 2004 Nao sei se entendi muito bem a questão... mas acho que para validaçoes dá pra usar os eventos:OnSetEditTextOnGetEditText OnSetEditText occurs every time the user changes the text.OnSetEditText does not occur unless the Options property includes goEditing. Compartilhar este post Link para o post Compartilhar em outros sites
Celamar 0 Denunciar post Postado Dezembro 20, 2004 O problema eh que nenhum destes eventos permite fazer o loop no StringGrid...Assim eu não consigo varre o String Gris em busca de siglas para validação... Compartilhar este post Link para o post Compartilhar em outros sites
Dopi 0 Denunciar post Postado Dezembro 20, 2004 Realmente esse eventos nao se aplicam a validaçoes... Consegui implementar usando o OnSelectSell e algumas variaveis de flags : Na declaraçao do Form: private { Private declarations } OldRow, OldCol : Integer;no Implementation:procedure TForm1.FormCreate(Sender: TObject);begin OldRow := -1; { inicializando os flags} OldCol := -1;end;procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);Var A : Integer;begin CanSelect := true; if OldRow >= 0 then begin For A := 0 to StringGrid1.RowCount-1 do begin if (A <> OldRow) and (StringGrid1.Cells[OldCol, OldRow] = StringGrid1.Cells[0,A]) then begin ShowMessage('Valor já existe'); CanSelect := False; end; end; end; if CanSelect then begin OldRow := ARow; OldCol := ACol; end;end; Compartilhar este post Link para o post Compartilhar em outros sites
Celamar 0 Denunciar post Postado Dezembro 20, 2004 Realmente funcionou, muito obrigada pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites