Bonsoir !![]()
Quelqu'un pourrait-il m'indiquer 1 lien ou me donner 1 bout de code pour effectuer la saisie dans chaque cellules de mon StringGrid à partir d'1 contrôle Edit ?
Merci par avance !![]()
Bonsoir !![]()
Quelqu'un pourrait-il m'indiquer 1 lien ou me donner 1 bout de code pour effectuer la saisie dans chaque cellules de mon StringGrid à partir d'1 contrôle Edit ?
Merci par avance !![]()
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération![]()
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Salut,
Je ne vois pas ce que tu veux exactement ...
Si tu souhaites écrire directement dans les cellules d'un StringGrid,il suffit de mettre la propriété goEditing à true dans les Options.
J'espère ne pas répondre à coté de la question![]()
Merci ero-senin,![]()
Je viens du monde Visual Basic et mon temps est assez compté pour ce projet alors je poste des fois 1 peu vite sans avoir tout exploré en détail...
Merci encore !![]()
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération![]()
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Bonjour !![]()
Voila, j'ai 1 TStringGrid en mode edit (goEditing=true)
Or, je souhaiterai après avoir saisie ma valeur dans une cellule de ma stringgrid, au moment ou je quitte la cellule, effectuer une action...
Sur quel évènement dois-je agir ???![]()
J'ai essayé sur SetEditText mais cet évènement survient à chaque caractère que je saisi dans ma cellule,![]()
Or, Je souhaiterai effectuer mon action a la fin de la saisie...![]()
Merci beaucoup pour votre aide !![]()
Denis
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération![]()
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Il te faut créer un nouveau composant StringGrid.
Je pense que le plus simple et le plus rapide est d'utiliser le composant TJvStringGrid de la JVCL (gratuit) qui dérive un TStringList en y incorporant justement l'évènement OnExitCell.
... Ou bien t'en inspirer si tu veux recréer toi-même un composant.
Salut
Quel est ce type d'action? Vérifier si la saisie est correcte et interdire ou autoriser le changement de cellule le cas échéant ?Envoyé par User
@+
Rebonjour,
Okaryn: Je souhaite garder mon TStringGrid,
ne puis-je pas agir sur KeyPress et tester la valeur de Key (si enter ou fleche alors faire
Cl@udius: je souhaite mettre a jour une table avec la valeur saisie dans la cellule...(je ne veux pas non plus de DBGrid...)
@+
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération![]()
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Je te donne le même conseil qu'Okaryn : passe en JVCL la bascule est simple sans tout réécrire. Surtout si tu as installé GExpert qui a la fonction 'replace component'
normalement, quant tu ecrit dans une cellule pour la premiére fois le Tstringgrid crée un TEdit, ( Tstringgrid.contol[0] si ma mémoir est bon) tu peut en prmié temp surchrgé le winproc de stringgrid pour détecté sa création, puis surcharge le winproc ou meme affecte Onexit de ce Tedit par une proc (:TNotifyEvent)
bah, c'est à peut prés ce que j'ai fait.![]()
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
Salut edamEnvoyé par edam
Ta méthode m'intéresse beaucoup, tu pourrais m'en dire plus?
Pedro
Aucune réponse aux sollicitations techniques par MP
Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)
Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit
Aéroclub Bastia Saint-Exupéry
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; type TForm1 = class(TForm) StringGrid1: TStringGrid; procedure FormCreate(Sender: TObject); private { Déclarations privées } winp,winpE:TWndMethod; procedure mywinproc (var Message: TMessage); procedure mywinprocE (var Message: TMessage); public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.mywinproc; begin if (Message.Msg>=CM_CONTROLLISTCHANGE) then // CM_CONTROLLISTCHANGE= CM_BASE + 44; // il faut faire plus de test pour connaitre le message de création . j'ai oublié le quel , si vs me donnez plus du temps ..... if StringGrid1.ControlCount=1 then begin winpE:=StringGrid1.Controls[0].WindowProc; StringGrid1.Controls[0].WindowProc:=mywinprocE; end; winp(message); end; procedure TForm1.mywinprocE; begin if message.Msg=WM_KILLFOCUS then ShowMessage('exit'); winpE(message); end; procedure TForm1.FormCreate(Sender: TObject); begin winp:=StringGrid1.WindowProc; StringGrid1.WindowProc:=mywinproc; end; end.![]()
![]()
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS
Merci Edam![]()
Pedro
Aucune réponse aux sollicitations techniques par MP
Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)
Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit
Aéroclub Bastia Saint-Exupéry
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager