Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Nous sommes sous PowerBuilder 12.6 Build 4081
Depuis le passage à cette version, les treeview ne fonctionnent plus correctement.
Nous avons par exemple une datawindow treeview à 2 niveaux.
Lorsque l'on ouvre le 1er niveau on voit le 2eme mais lorsqu'on ouvre le 2eme, celui-ci ne s'ouvre pas.
On peut ouvrir la totalité des niveaux en une fois pour tout voir, mais si l'utilisateur ferme le niveau 2, il devient impossible de le rouvrir.
Avez-vous eu ce problème? Nous ne trouvons rien sur internet concernant ce problème.
Merci
Hors ligne
Alors, personne n'a ce problème?
Petite précision, le phénomène survient même dans le preview de la datawindow au moment même de la création.
Exemple: Prise de présences d'enfants inscrits dans une plaine de jeux et ce par semaine
Le treeview ressemble à ça:
+ le nom de la plaine
+ Le numéro de la semaine
Enfant 1
Enfant 2
Enfant 3....
Si je déclare qu'il faut tout ouvrir, je vois tout
Par contre, si je laisse l'expand su 1 :
Si je clique sur le nom de la plaine, je vois le niveau suivant
+ Le nom de la plaine
+ le numéro de la semaine
Si maintenant, je clique sur le numéro de la semaine, impossible de voir la liste des enfants pour la semaine choisie.
De plus, toutes les treeviews déjà réalisées dans une version précédente de PB ne fonctionnent plus. J'obtiens le même résultat.
Nous sommes 3 développeurs et nous avons tous ce problème depuis la version 12.6 build 4081.
Merci de votre aide
Hors ligne
jcc a écrit:
Alors, personne n'a ce problème?
...
Nous sommes 3 développeurs et nous avons tous ce problème depuis la version 12.6 build 4081.
Merci de votre aide
Désolé : PB11.5 ici...
Hors ligne
Bonjour,
(idem 11.5)
Juste une piste, suite à migration j'avais certaines datawindows avec des formules de lignes de couleurs alternées ne fonctionnant pas.
Une migration ne met absolument pas à niveau le code source de la datawindow (niveau de release), il reste dans la version originelle, pour sans rendre compte, il suffit de faire un edit source sur le dataobject, la première ligne indique le niveau de release de la datawindow (il n'est pas en 12.6 comme on pourrait s'y attendre).
Pour corriger le problème, j'ai simplement réaliser une speudo-modification du code et resauvegarde pour que la datawindow soit réellement migré dans la version de powerbuilder courante.
Je n'ai plus le souvenir pour quelles raisons, j'ai également réglé des problèmes de fonctionnement de datawindows suite à migration en reconstruisant totalement le dataobject dans la nouvelle version (à tester éventuellement).
Hors ligne
Bonjour,
merci pour l'info. mais modifier en edit source ne change rien.
Ce matin, j'ai même été surpris d'une chose. La treeview qui ne fonctionnait pas, fonctionne.
Je sors de PB pour faire autre chose? Je retourne dans PB après quelques minutes et ca ne fonctionne de nouveau plus.
Je tente la modif que tu me conseilles et cela ne résous pas le problème.
Mon collègue m'informe que c'est généralement ce qui se passe. Le bon fonctionnement des treeview est complètement aléatoire depuis la version 12.6 Build 4081.
Notre seule solution est de faire autre chose que des treeview. C'est quand même dommage.
Il doit y avoir une raison de ce mauvais fonctionnement?
A+
Hors ligne
Nouvelle info sur le problème.
En test la treeview sur la base de données de 2015 sur notre server de développement, le problème disparaît.
Si je repasse sur le server de production sur la base de 2016, la treeview ne fonctionne plus.
La base de donnée 2016 de notre application est une copie de la base de données de 2015. Aucun changement de structure hormis le vidage de certaines tables pour préparer l'exercice 2016.
Nous sommes en SQLAnyWhere 17.
Mon collègue n'y croit pas car il dit que cela peut fonctionner pendant 1 semaine et puis d'un coups ca ne fonctionne plus. Purement aléatoire.
J'ai essayé 5 fois la manipulation décrite ci-dessus et 5 fois j'ai eu la même réaction.
Vraiment étrange
Hors ligne
jcc a écrit:
Notre seule solution est de faire autre chose que des treeview. C'est quand même dommage.
Une possibilité : utiliser une treelist ?
(Disclaimer : je prêche pour ma paroisse, c'est moi qui l'ai fait )
Hors ligne
Bonjour,
Il ne s'agit pas de modifier le dataobject en edit source (c'est juste pour voir le numéro de release de la datawindow, il ne faut pas la modifier manuellement).
Tu édites normalement ta Datawindow, tu vas dans la requête SQL par exemple, tu insères un retour chariot dans la requête en mode syntax que tu supprimes.
tu retournes dans le mode édition de l'IHM de la datawindow et tu sauvegardes. Après cela, le numéro de release doit correspondre à la version de powerbuilder que tu utilises.
Cela permet d'actualiser le source du dataobject à la version de Powerbuilder que tu utilises. En comparant, le source avant et après, tu verras qu'il subit de nombreuses modifications.
Hors ligne
Ca change rien.
je pense que le problème ne vient pas essentiellement de la migration de pb12 vers pb 12.6 pour les raisons suivantes:
J'ai mis les bases de données 2015 et 2016 sur le même server.
La treeview existante d'origine PB 12 fonctionne sur la base 2015 mais pas du la base 2016.
En PB 12.6:
Si je crée une nouvelle treeview sur la base 2016, j'ai le problème déjà dans le preview de la dw. pour tout voir je dois changer la propriété expand to level by default de 1 à 3. Là, je vois tout. Mais impossible de fermer le niveau 2. Je dois fermer le niveau 1 et si j'ouvre le niveau 1, tous les niveaux s'ouvrent.
Si je crée une nouvelle treeview sur la base 2015 avec les mêmes critères, tout fonctionne
Si je reprend cette nouvelle treeview et que je l'utilise sur la base de 2016, hop! ca ne fonctionne plus
Je répète. la base 2016 est une copie de la base 2015 vidée de certaine tables pour ce nouvel exercice. aucun changement de structure.
Quel lien pourrait-il y avoir avec la base de données?
Je ne comprend rien.
Hors ligne
Nouveau comportement détecté sur le treeview.
Comme je le disais sur la base de 2015, le treeview fonctionnait. La base de données étant enrichie des données de 2015.
Par contre, sur la base de 2016 qui a été vidée partielle, un seul enregistrement a été créé.
La treeview devais me montrer ceci:
+ Plaine
+ Semaine 1
Enfant 1
Mais impossible de voir Enfant 1 en ouvrant Numéro de Semaine.
Je viens de créer un nouvelle Enfant pour la même semaine et la treeview fonctionne. J'obtiens ce que je veux. C'est-à-dire:
+ Plaine
+ Semaine 1
Enfant 1
Enfant 2
Il semblerait que la treeview ne fonctionne dans le cas d'un seul enregistrement (voir 1er cas ci-dessus).
Bizarre!!!
Hors ligne
Bonjour,
Le problème a été résolu depuis via l'EBF 25970 portant la version de PB à 12.6 Build 4091
Voici l'élément du patch note correspondant au problème cité :
25970 794184 Customer has some treeview datawindows that when migrated from PB 11.5.x to PB 12.6,
will not open past the second level of the treeview. Other treeview datawindows do not show this behavior when migrated.
Bonne journée à vous.
Dernière modification par Praet (29-03-2016 08:30:46)
Hors ligne