IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Donner le focus à la ligne suivante du champ table [WD19]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Manager
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Manager

    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Points : 22
    Points
    22
    Par défaut Donner le focus à la ligne suivante du champ table
    Bonjour à tous !
    Je voudrais resoudre un problème sur un champ table.
    Je désire insérer toutes les lignes du champ table en bdd.
    Mais je sais que par défaut le focus est sur la première ligne, et quand je fais mon teste, il n'y a que la première ligne qui rentre,ce qui est normale.
    Alors je veux faire evoluer le focus pour insérer mes lignes (lignes suivantes)

    Nom : Champ_Table.PNG
Affichages : 803
Taille : 15,7 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
             //Insertion de lignes la grille en base
    		POUR i=1 _A_ nBr_LigneChamp
     
    			EXPRESS_ligne_facture.id_seminaire=TABLE_SeminaireFactures.COL_id_seminaire
    			EXPRESS_ligne_facture.qte_ligne_fact=TABLE_SeminaireFactures.COL_Quantité
    			EXPRESS_ligne_facture.montant_HT=TABLE_SeminaireFactures.COL_Montant_HT			
    			DonneFocus(TABLE_SeminaireFacture)
    		FIN
    Dans mon code je tente de donner un indice à la fonction DonneFocus() pour l'élément Table_champ, mais là, je sais pas comment faire.
    Pourrais-je avoir des orientations svp? Merci

  2. #2
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonsoir,

    Je ne comprends pas bien l’intérêt de vouloir donner le focus à toutes les lignes de votre table ?!

    Que souhaitez vous faire plutôt ? Mettre dans une base de données, les lignes contenu dans votre table ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Manager
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Manager

    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Points : 22
    Points
    22
    Par défaut Donner le focus à la ligne suivante du champ table
    Ce n'est pas un choix que je m'impose, mais je pense que sur le fonctionnement du champ table, il ne considère que la ligne sélectionnée, donc je pense que c'est celle qui a le focus. Dans un un teste que j'ai effectué, après avoir inséré plusieurs ligne dans le champ table, lorsque j'ai sélectionné une ligne à tout hazard, après un clic sur un bouton pour insertion en base, c'est bien cette ligne sélectionnée qui est allée dans la bdd (SQLite), et non la première ligne ou une tout autre.

    Je veux insérer toute le ligne du champ table dan une base de donnée SQLite.
    Pour l'insertion j'ai pas de pb, mais c'est juste que je n'arrive pas à, le en une seule fois pour toutes les lignes du champ table.

  4. #4
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Quel est votre code d'ajout dans la base de donnees ?

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 197
    Points : 12 772
    Points
    12 772
    Par défaut
    Bonjour,
    Il y a plusieurs façons de parcourir un champ table, le mieux étant de faire un tour dans l'aide en ligne.
    Mais il n'est pas nécessaire de donner le focus à chaque ligne, c'est même contre productif du point de vue temps de traitement.
    Enfin de rejoins WDKyle, il faudrait voir le code de sauvegarde pour pouvoir dire ce qui ne va pas.

    Tatayo.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Manager
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Manager

    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Bonjour !
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    EcranVersFichier(EXPRESS_FEN_ViewSeminary,EXPRESS_facture)
    EcranVersFichier(EXPRESS_FEN_ViewSeminary,EXPRESS_ligne_facture)
     
    SI EXPRESS_facture..NouvelEnregistrement=Vrai _ET_ EXPRESS_ligne_facture..NouvelEnregistrement=Vrai ALORS
    	HAjoute(EXPRESS_facture)
    	HAjoute(EXPRESS_ligne_facture)
     
    	SI( HErreurDoublon()=Vrai) ALORS
    		Erreur("Cette facture existe déjà")
    	SINON
    		Info("Une nouvelle factutre a été ajoutée.")
    	FIN
    FIN

  7. #7
    Membre à l'essai
    Homme Profil pro
    Manager
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Manager

    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Précisions :

    J'ai débuté en windev17 puis j'ai viré en windev19.

    Le code ci-dessus me permet d'insérer les lignes en base,
    mais ci-dessous je remplis mon champ table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableAjouteLigne(TABLE_SeminaireFactures,SAI_idSeminaire,SAI_Reference,COMBO_Description,SAI_Quantite,SAI_Prix_unitaire,SAI_MontatHT)

  8. #8
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Pour l'ajout des lignes de facture, il faut que tu parcoures toute la table des lignes concernées. Il doit y avoir autant de hajoute(EXPRESS_ligne_facture) que de lignes de facture.

    Lorsque tu fais le ecranversfichier(...,EXPRESS_ligne_facture), il prend la ligne sélectionnée.

    Vu ton code, j'ai quelques doutes sur ta structure de fichiers Entête de facture / lignes de facture...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  9. #9
    Membre à l'essai
    Homme Profil pro
    Manager
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Manager

    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    je viens de résoudre le problème .
    En effet, WDKyle a bien raison, c'est inutile de donner le focus à toutes les ligne.
    Et comme disais tatayo j'ai changeait la manière de parcourir mon champ table, je parcours toutes les lignes de la table comme le dit frenchsting.
    J'ai changeait l'ordre des fonctions HAjoute pour facture et ligne_facture, ainsi, j’enregistre d'abord la facture, puis les lignes de facture.

    Voici le code qui résout mon problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    HAjoute(EXPRESS_facture)
     
    	//Insertion de ligne_facture la grille en base
    	POUR TOUTE LIGNE DE TABLE_SeminaireFactures
    		EXPRESS_facture.id_facture=EXPRESS_facture.id_facture
    		EXPRESS_ligne_facture.id_seminaire=TABLE_SeminaireFactures.COL_id_seminaire
    		EXPRESS_ligne_facture.qte_ligne_fact=TABLE_SeminaireFactures.COL_Quantité
    		EXPRESS_ligne_facture.montant_HT=TABLE_SeminaireFactures.COL_Montant_HT	
    		HAjoute(EXPRESS_ligne_facture)
    	FIN

    Merci pour vos contributions !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/12/2013, 22h50
  2. [WD14] Rendre modifiable une ligne d'un champ table
    Par willytito dans le forum WinDev
    Réponses: 3
    Dernier message: 13/09/2010, 15h05
  3. [WD12] Numéro de ligne dans un champ table
    Par thierrybatlle dans le forum WinDev
    Réponses: 2
    Dernier message: 03/10/2008, 07h20
  4. Réponses: 3
    Dernier message: 21/02/2007, 08h08
  5. donner le focus au champ text suivant
    Par Mike35 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/02/2007, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo