Stringgrid cellule modifiee

Signaler
Messages postés
13
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
5 septembre 2005
-
Messages postés
13
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
5 septembre 2005
-
Bonjour et merci à tous ceux qui aide les autres.
Malgré le nombre de questions déjà posée (très utiles d'ailleurs) je n'ai pas trouvé de réponse à la mienne:
Comment pourrais-je savoir qu'une cellule de mon stringgrid a été modifiée (je dis bien modifiée, pas sélectionnée).
J'ai bien pensé aux évènements OnKey... mais ils ne disent pas dans quelle cellule cela a lieu.
Je remercie d'avance tous ceux qui m'aiderons.

2 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Voir évè_nement OnSetEditText.
Exemple : un label (lblNewValue) affiche la dernière valeur modifiée dans StringGrid1 et l'état modifié est mémorisé :
Var
  Modified: boolean;

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
  lblNewValue.Caption := Value;
  Modified := True;
end;


Inversement, si on veut conserver une trace du contenu de la cellule avant modification, il faut utiliser l'évènement OnSelectCell :
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  lblOldValue.Caption := Stringgrid1.Cells[Acol, ARow];
end;

May Delphi be with you
Messages postés
13
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
5 septembre 2005

Je te remercie pour ta réponse.
J'ai finallement utilisé deux variables globales row et col, qui sont initialisées avec l'évènement OnSelectCell, et lorsque l'évènement OnKeyPress est effectué, j'utilise ces variables.
Merci encore pour toute l'aide apportée sur ce forum.