Partant du fait que lorsque le recorsource d'une grille est
vide, on peut en faire ce qu'on veut.
Ce que l'on se doit de tenir compte
Avant d'altérer un curseur pour notre exemple il faut vider le recordsource de
la grille
this.grid1.recorsource = ""
là on peut faire ce que l'on veut avec le curseur
modifier , altérer, fermer et ou en créer un autre
réaffecter l'alias au recordsource de la grille avant d'affecter un champ au
controlsource des colonne.
this.grid1.recorsource = "MonAlias"
* a supposer que les champs soit dans l'ordre c1,c2,c3,c4,c5,c6,c7
* donc lorsque MonAlias est réaffecté au recordsource de la grille, ce sont les
trois premiers champs du curseur
* qui sont réaffectés à la grille soit c1,c2 et c3
et là on peut réordonner les colonnes de la grille
* l'exemple ici-bas fait çà et regardez l'astuce utilisé avec cSouce_assign
Code source :
#Define cr Chr(13)
#Define cr2 cr+cr Public o
o = Createobject("MaForm")
o.Show()
DefineClass Maform AsForm ShowTips = .T. Add Object g1 As grid1 Add Object test1 As MesBoutons WithLeft = 10 ,; ToolTipText="lordre du cursor est "+cr2+" ii1 , ii2 , ii3 "+cr2+; " et celle de la grille versus ses controlsoures demeurera "+cr2+; " ii1,ii2,113 "
Add Object test2 As MesBoutons WithLeft = 100 ,; ToolTipText="lordre du cursor est "+cr2+" ii3 , ii1 , ii2 "+cr2+; " et celle de la grille versus "+cr+"ses controlsoures demeurera "+cr2+; " ii1,ii2,113 " Add Object test3 As MesBoutons WithLeft = 197 ,; ToolTipText="lordre du cursor est "+cr2+" ii3 , ii2 , ii1 "+cr2+; " et celle de la grille versus ses"+cr+" controlsoures demeurera "+cr2+; " ii1,ii2,113 "
le 26/11/2006, Mike Gagnon a écrit : Eddy, Suggestion Ajoute un LOCATE apres tes insert. La grille montre seleument le dernier record, il faut scroller, pour remonter
le 26/11/2006, EmanuelL a écrit : Mike, Curiosité, quelle est l' influence de LOCATE après les insertions?
FOR i = 1 TO 10 INSERT INTO t1 (ii1,ii2,ii3) VALUES (i, 10*i, i*100) LOCATE ENDFOR
le 27/11/2006, eddymaue a écrit : elle te ramène sur le premier record indexé
Ma suggestion était de mettre un LOCATE après tous les insert, et non après chaque insert. Sans locate lorsque tu as fini les insert, tu te trouve au bas de la table. LOCATE est similaire à GO TOP, mais a un mellieur perfomrmance que GO TOP.
le 28/11/2006, EmanuelL a écrit : Merci Mike pour l'info.
Eddy,
Suggestion
Ajoute un LOCATE apres tes insert. La grille montre seleument le dernier record, il faut scroller, pour remonter