[résolu] gérer l'évènement click et plusieurs TIWGrid

gérer l'évènement click et plusieurs TIWGrid [résolu] - Delphi/Pascal - Programmation

Marsh Posté le 05-04-2005 à 13:46:19    

Bonjour,
 
en delphi 7, sur une fenêtre je crée plusieurs TIWGrid en fonction d'un nombre de produit.  
les cellules de chaque Grid sont associés a un même évènement GridCellClick
 
celui ci a pour paramètre par défaut :

Code :
  1. procedure TlisteItems.GridCellClick(const ARow, AColumn: Integer);


je récupère donc la ligne et la colonne du click, mais je ne sais pas comment savoir sur quel Grid l'utilisateur a cliqué !
 
quelqu'un a une solution ?


Message édité par flam182 le 05-04-2005 à 15:30:06
Reply

Marsh Posté le 05-04-2005 à 13:46:19   

Reply

Marsh Posté le 05-04-2005 à 14:08:04    

Il n'y a pas un paramètre "Sender" ? [:wam] D'habitude il y en a toujours un pour les événements, qui indique justement quel objet a déclanché l'événement.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-04-2005 à 14:09:38    

non justement il n'y en a pas
j'ai juste la colonne et la ligne :(

Reply

Marsh Posté le 05-04-2005 à 14:16:17    

Fais une procédure onclick par grid, qui appellent chacune une procédure commune en passant la grid en paramètre en plus de la colonne/ligne.


Message édité par antp le 05-04-2005 à 14:16:32

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-04-2005 à 14:29:03    

oui je pensais faire ca mais je ne sais pas a l'avance combien je vais avoir de grid (minimum une 10aine par form)
 
je sais pas si c possible de faire un overload sur la méthode GridCellClick et d'y rajouter le champ nécessaire ?
(c peut être nimp ce que je viens de dire...je débute)
 
 
 

Reply

Marsh Posté le 05-04-2005 à 14:42:21    

La solution la plus "simple" (entre guillemets) serait de faire ceci :
 
- une classe TGridClickManager, qui contient une procedure OnClick et un lien vers un TIWGrid. Dans son OnClick elle appelle ta procédure commune en passant le lien TIWGrid qu'elle a.
- une liste (TObjectList) qui contient les instances de TGridClickManager.
 
Quand tu crées une grid, tu crées un TGridClickManager. Tu assignes le OnClick de la grid à la procedure prévue pour ça dans le TGridClickManager créé, tu assignes le lien TIWGrid du TGridClickManager au grid que tu viens de créé, puis tu ajoutes ce TGridClickManager à ta liste.
 
J'espère que c'est assez clair :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 05-04-2005 à 15:05:36    

j'ai un peu de mal a digérer le truc,
mais je vais essayer
 
merci antp ;)

Reply

Marsh Posté le 05-04-2005 à 15:29:40    

ca marche t'es trop fort antp !!
 
encore merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed