begin process at 2013 05 24 06:54:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Foxpro

 > 

Divers

 > 

Débutant(e)

 > 

Grille VFP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Grille VFP

vendredi 3 août 2012 à 17:58:06 | Grille VFP

nizarmezzi

Bonjour,
J'ai un problème au niveau de manipulation de grille dans VFP9.
Quand je clic sur une cellule de la colonne1 une fenêtre2 apparait bien et le saisie des données se déroule bien ainsi l'enregistrement des données dans la base. le problème c'est quand je valide les données on cliquons sur le bouton Enregistrer les enregistrements apparait dans la grille mais si je clic de nouveau sur une cellule de la colonne1 rien ne se passe la fenêtre2 n'apparait pas
******** Evenement,Click de bouton de commande Enregistrer ************
THISFORM.pageframe1.reglement.grid1.recordsource=THISFORM.pageframe1.reglement.grid1.recordsource
THISFORM.pageframe1.reglement.Grid1.SetAll("DynamicBackColor",;
"IIF(MOD(RECNO( ), 2)=1, RGB(255,255,255);
, RGB(192,220,192))", "Column") && Alterne les enregistrements blanc et vert
THISFORM.pageframe1.reglement.Grid1.Visible = .T. && Le contrôle Grid (grille) est visible
THISFORM.pageframe1.reglement.Grid1.Column1.Header1.Caption = '°Bon N'
THISFORM.pageframe1.reglement.Grid1.Column2.Header1.Caption = 'Date'
THISFORM.pageframe1.reglement.Grid1.Column2.Width = 70
THISFORM.pageframe1.reglement.Grid1.Column2.Text1.Enabled = .F.
THISFORM.pageframe1.reglement.Grid1.Column3.Width = 30
THISFORM.pageframe1.reglement.Grid1.Column1.Alignment = 2
THISFORM.pageframe1.reglement.Grid1.Column2.Alignment = 2
THISFORM.pageframe1.reglement.Grid1.Column1.Header1.Alignment = 2
THISFORM.pageframe1.reglement.Grid1.Column2.Header1.Alignment = 2
vendredi 3 août 2012 à 18:43:46 | Re : Grille VFP

MichelAtoutFox

Membre Club
Bonjour,

il nous manque des informations, pour pouvoir t'aider. Quelle est la fenêtre qui apparait, quand tu cliques sur une cellule de la colonne 2? tu as écrit du code pour ça? si oui, il faudrait que tu nous le montre.

Je ne comprends pas pourquoi tu as ce code dans ton bouton enregistrer. A quoi sert la première ligne de code (tu dis que le recordsource est égal à lui-même)? Pourquoi es-tu obligé de redéfinir ces captions, le enabled de Text1, etc..? tu les as modifié quelque part? si oui, il faudrait qu'on sache où, et pourquoi, et comment.
samedi 4 août 2012 à 00:52:25 | Re : Grille VFP

nizarmezzi


****** Bouton Enregistrer
****** Click evenment

CLOSE DATABASES

thisform.consulter.enabled=.t.
thisform.supprimer.enabled=.t.
thisform.enregistrer.enabled=.f.
thisform.nouveau.enabled=.t.

set default to C:\tarification\base\
open database internet.dbc

SELECT 1
use navigation
go bottom

THISFORM.code_nav.value=code_nav
STORE code_nav TO x

THISFORM.date_nav.value=date_nav
STORE date_nav TO y

SELECT 2
USE lig_nav
GO Bottom

replace date_nav WITH y
replace code_nav WITH x

THISFORM.pageframe1.reglement.grid1.recordsource=THISFORM.pageframe1.reglement.grid1.recordsource
THISFORM.pageframe1.reglement.Grid1.SetAll("DynamicBackColor",;
"IIF(MOD(RECNO( ), 2)=1, RGB(255,255,255);
, RGB(192,220,192))", "Column") && Alterne les enregistrements blanc et vert
THISFORM.pageframe1.reglement.Grid1.Visible = .T. && Le contrôle Grid (grille) est visible
THISFORM.pageframe1.reglement.Grid1.Column1.Header1.Caption = '°Bon N'
THISFORM.pageframe1.reglement.Grid1.Column2.Header1.Caption = 'Date'
THISFORM.pageframe1.reglement.Grid1.Column2.Width = 70
THISFORM.pageframe1.reglement.Grid1.Column2.Text1.Enabled = .F.
THISFORM.pageframe1.reglement.Grid1.Column3.Width = 30
THISFORM.pageframe1.reglement.Grid1.Column1.Alignment = 2
THISFORM.pageframe1.reglement.Grid1.Column2.Alignment = 2
THISFORM.pageframe1.reglement.Grid1.Column1.Header1.Alignment = 2
THISFORM.pageframe1.reglement.Grid1.Column2.Header1.Alignment = 2
*********************************************************************
****** La cellule Text1 de la Colonne1
****** Click evenment
*** pageframe1.reglement.Grid1.Column1.Text1
**** Click evenment
do form C:\tarification\formulaires\reglement.scx
*************************************************************************
**** J'ai crée l'Objet Grid1 par Assistant Controle...
**** Propriétés Grid1 sont :
ChildOrder : Code_nav
LinkMaster : Navigation
RecoedSource : lig_nav
RecoedSourceType : 1- Alias
RelationalExpr :Code_nav
samedi 4 août 2012 à 12:46:37 | Re : Grille VFP

MichelAtoutFox

Membre Club
Ouh là là... il va y avoir pas mal de choses à corriger.

Déjà, pour commencer, tout ce qui concerne l'ouverture de database et de table ne devrait absolument pas être dans ce code d'évenement. Pourquoi l'as-tu mis ici?
Ensuite, à la place de
SELECT 1
use navigation
tu devrais écrire USE navigation in 0, en précisant aussi SHARED.
Et à la place de ton SELECT 2, tu aurais intéret à utiliser l'alias qui est ouvert dans cette zone 2 (par exemple SELECT clients), ça sera plus lisible et maintenable.

En ce qui concerne tes variables x et y, à quoi te servent-elles, puisque tu as déjà copié la valeur de code_nav et date_nav dans des prorpiétés de ton Form? et ces variables, où et comment les as-tu déclarées? quelle est leur portée? elles ne sont pas déclarées comme publiques, j'espère?

Et puis je te conseille de toujours préfixer les noms de champs par le nom d'alias, et les variables par leur identifiant m. Par exemple, navigation.code_nav permet à VFP de savoir que c'est le champ de cet alias, et m.x lui permet de savoir que ce n'est pas un champ, mais une variable mémoire.

Et si le but de toutes ces lignes de code, c'est juste de prendre la dernière ligne d'un alias et de remplacer les valeurs de 2 champs par les valeurs de 2 autres champs de la dernière ligne d'un autre ailas, eh bien ça s'écrit en 2 ou 3 lignes de code, pas besoin de tout ça.
quelque chose comme
GO BOTTOM IN <alias1>
GO BOTTOM IN <alias2>
REPLACE <champ1> WITH <alias2.champxx>, <champ2> WITH <alias2.champyy> IN "alias1"

ou bien UPDATE table1 SET champ1=alias2.champxx, champ2=alias2.champyy WHERE ta_condition

Tu essayes de réécrire ça proprement (c'est à dire le code d'ouverture des tables dans le LOAD de la form, ou bien en utilisant le DataEnvironment), et on continue ensuite.
dimanche 5 août 2012 à 23:26:31 | Re : Grille VFP

nizarmezzi

Bonjour et merci pour tes conseilles mais toujours j'ai un problème au niveau de la grille quand je clic sur la cellule text1 de la colonne1 après l'enregistrement l'evenment click ne se déclenche pas
****** La cellule Text1 de la Colonne1
****** Click evenment
*** pageframe1.reglement.Grid1.Column1.Text1
**** Click evenment
do form C:\tarification\formulaires\reglement.scx
c'est là où se trouve mon problème
Merci d'avance si tu trouve une solution.


lundi 6 août 2012 à 09:40:26 | Re : Grille VFP

MichelAtoutFox

Membre Club

  • Est-ce que tu as modifié le code de cette méthode Click et l'ouverture de tes tables comme je te le conseillais?
  • essaie d'utiliser le click de la grille elle-même, plutot que celui de la ligne
lundi 6 août 2012 à 09:40:46 | Re : Grille VFP


Cette discussion est classée dans : grille, thisform, reglement, grid1, pageframe1


Répondre à ce message

Sujets en rapport avec ce message

Caption pour les checkbox [ par johnmary ] BonjourDans l'extrait de code ci-dessous, le groupe d'options comprend 3 checks , je souhaiterais ajouter une légende (caption) pourchacun d'eux. Comm Grille [ par gh57 ] 1°) Comment ne pas afficher les zéros dans une grille 2°) Comment valider un enregistrement dans un control grid 3°) Comment passer d'un enregistremen [vfp9]combobox bete question [ par gregorian ] Bonjour, Dans un dvp, j'ai une free table qui reprend les 12 mois de l'année --> les num du mois en clé et un champs libellé qui reprend le nom du moi colorier une ligne d'une grille [ par ducker88 ] Bonjour,voila mon probleme, je suis en train de faire des modifications sur un programme ecrit en foxpro, l'une de ces modifications consiste a mettre Liste modifiable [ par rubix2 ] <TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB vfp grid [ par zouheir_ali ] Bonjour à tous,Je voudrais accéder dans une cellule d'une grille dans une colonne bien déterminé même si la grille contient plusieurs colonnes.Soit je re set filter to [ par brunaux ] bonjourmerci mike pour les réponses.je vois que tu n'apprecie pas trop SET FILTER TO,je trouve pourtant que c'est bien pratique et rapide pour les déb Sélection ou Highlight d'une ligne dans une grille [ par renaudsegur ] Bonjour,débutant en VFP, je souhaite sélectionner une ligne entière, ou un groupe de cellules d'une grille, mais sans passer par Grille.ActivateCell c Envoi d'email via outlookl [ par ducker88 ] Bonjour a tous, Dans le but d'envoyer un email depuis outlook j'utilise le code suivant que j'ai recuperer sur atoutfoxTRYoOutLookObject = CreateObjec datetime et SqlServer [ par zouheir_ali ] Bonjour à tous,Je travaille avec vfp6 et sqlserver.dans une table sqlserver j'ai un champ de type datetime, une grille dans vfp est remplie avec une r


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,607 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales