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 :

Combo filtré, aucune cohérence de windev ?


Sujet :

WinDev

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Points : 70
    Points
    70
    Par défaut Combo filtré, aucune cohérence de windev ?
    Bonjour,

    Un code vaux mieux qu'un long discours :
    Code windev : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TableActiveFiltre(COMBO.Filtre, filtreContient, COMBO..ValeurAffichée)
    Trace("Id (Touche 'Enter') : "+ positiont +" ("+ COMBO[positiont].Filtre +")")
    Trace("Nb Occurence :"+ ListeOccurrence(COMBO))
    ListeSelectPlus(COMBO, positiont)
    Trace("Id (Touche 'Enter') : "+ positiont +" ("+ COMBO[positiont].Filtre +")")
    Trace("Nb Occurence :"+ ListeOccurrence(COMBO))

    et voici ce que me retourne la fenetre TRACE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Id (Touche 'Enter') : 1 ([MRC] MERCIER Valérie)
    Nb Occurence :1
    Id (Touche 'Enter') : 1 ([BLD] BILLOUD Sébastien)
    Nb Occurence :1
    Je ne vois la aucune cohérence, j’exécute le meme code deux fois de suite sur une combo, et on dirai que ListeSelectPlus() ignore le filtre (voir même le modifie totalement !).

    Ce code s'excute lorsque l'on appuie sur la touche entrée, il est censé selectionner la premiere ligne du combo si aucune n'est selectionné (positiont vaux 1 ici comme on peut le voir dans le trace()).

    Franchement je planche sur ça depuis 1 jours et demi, je ne comprend vraiment pas et j'en appelle à votre aide. Je n'ai peut etre pas assez de recul pour voir le probleme.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Points : 70
    Points
    70
    Par défaut
    J'ai détourné ce problème, mais j'ai des tonnes de problèmes avec les fonctions de Liste lorsqu'un filtre est actif. Pour la première utilisation, elles marchent normalement, pour les suivantes elles considère la liste/table du combo en entière et ignore totalement le filtre actif !

    Voir même, quand je "navigue" dans ma liste, elle me change le contenu du combo filtré sans raison ! (La deuxième est 3eme personne vont être remplacer par la personne 2 et 3 de la liste globale, alors que les critères du filtre ne devrait pas faire apparaître ces résultats !).

    Quelqu'un à déjà rencontrer ce genre de problème, j'ai vraiment besoin d'aide la...

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Je vois que personne ne te réponds aussi je vais essayer de t'aider mais je ne connais pas du tout le principe des filtres... sur liste ou sur table... donc ma réponse sera une solution de substitution...

    Pour moi les fonctions de filtre sont des substituts (peut être agréable ou rapide) aux restrictions de requête...

    Ce que je mets en place c'est une fonction de load pour chaque liste (que j'alimente donc par programmation) qui gère les restrictions de ma requête pour n'avoir que ce qui m'intéresse dans la liste... donc ça c'était pour la petite histoire...

    Sinon plus concrètement je comprends pas bien l'intérêt de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TableActiveFiltre(COMBO.Filtre, filtreContient, COMBO..ValeurAffichée)
    d'ailleurs ne s'agit pas plus de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ListeActiveFiltre(COMBO.Filtre, filtreContient, COMBO..ValeurAffichée)
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Points : 70
    Points
    70
    Par défaut
    Merci à toi michel.souris de tenter de m'aider.

    Non il s'agit bien de TableActiveFiltre(COLONE, TYPE_RECHERCHE, CONTENU_RECHERCHE) ou le premier argument est le nom de la colonne dans laquelle rechercher. L’intérêt d'une telle fonction et de pouvoir faire des "recherches" rapide dans une table plutôt que relancer une requête à chaque fois que l'utilisateur écrit ou efface un caractère dans le champs de recherche.

    Le comportement de cette fonction est qu'elle n'affiche que les lignes qui contienne CONTENU_RECHERCHE, et si ce dernier est vide il ré-affiche la table d'origine avec toutes les entrées.

    Apres c'est un poil particulier, il s'agit d'un combo table, c'est à dire une tbale dans un combo. Il faut utiliser TableActiveFiltre pour le filtre, mais les fonctions ListeXXX pour le reste.

    Normalement les fonctions liste considére la table tels quelle est actuellement, par exemple si je dit "selectionne moi la ligne 3", ça considérera le filtre en cour. Ce qui me pose probleme c'est qu'ici ça commence à marcher correctement, puis apres une autre saisie, ça me fait en gros une sélection de la 3eme ligne, qu'il y est un filtre ou pas ça considérera la liste totale.

    C'est ce qu'on voit dans mon premier code, j'affiche une ligne, j'en selectionne une, puis quand je reaffiche cette meme ligne, sans avoir changer les filtres ou quoi, et bien ça m'affiche pas la meme (il ne considere plus le filtre, alors que j'utilise caractere pour caractere la meme ligne de code).

    Je sais pas vraiment si quelqu'un va pouvoir m'aider... je pense que c'est une erreur de conception de windev, ou alors un truc qui à bugger dans le code interne à windev qu'on ne peux pas voir. Mais je m'etonne que personne n'utilise plus ces fonctions la.

    EDIT :
    Je precise que j'accepte d'autre solution eventuelle pour palier au meme probleme d'origine, a savoir l'équivalent des filtres. On je devrais reprogrammer une classe qui se souviendrai du tableau d'origine et ferait les recherches lui meme et l'actualiserai lui meme ? C'est quand meme dommage.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    hummmm.... j'avais pas bien compris le contexte....

    donc là je vois pas d'autres solutions que de forcer la désactivation/réactivation du filtre à chaque fois.... puisque si je comprends bien ça marche UNE fois

    sinon j'ai pas beaucoup d'idée.... j'avoue...


    et peut-être si tu isoles bien le cas, signale le soucis au support technique...
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Points : 70
    Points
    70
    Par défaut
    Oui ça fait trop longtemps que je penche dessus, pour moi c'est WinDev qui à une problème. Ou alors je rate quelque chose de vraiment énorme mais la c'est juste pas cohérent.

    Désactivé/Réactivé j'ai déja tenter mais ça ne marche pas. En faite on dirait que le filtre sur combo ne marche qu'une fois (peut importe qu'on l'active ou desactive) par execution.

    Je contacte le support et je te tiens au courant.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 91
    Points : 70
    Points
    70
    Par défaut
    Voici visuellement ce que ça donne, j'attend de voir ce que me dira le support de windev par mail (40min d'attente au téléphone et rien du tout :o)


Discussions similaires

  1. [WD14] Contenu combo filtre selon une autre combo.
    Par Dbee1 dans le forum WinDev
    Réponses: 1
    Dernier message: 06/01/2010, 17h32
  2. Réponses: 21
    Dernier message: 13/12/2007, 14h47
  3. filtre ne renvoyant aucune valeur
    Par kirua2150 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/06/2007, 06h11
  4. filtre table avec combo
    Par bahi2007 dans le forum WinDev
    Réponses: 2
    Dernier message: 31/05/2007, 16h33
  5. [WinDev 10] Intitulé et non ID d'une combo
    Par Caroline38 dans le forum WinDev
    Réponses: 5
    Dernier message: 29/11/2006, 11h43

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