Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
voici mon problème :
j'ai mis en place un traitement permettant de mémoriser l'ordre des colonnes d'une datawindow.Cela fonctionne parfaitement sauf si ma datawindow possède des computes fields...
Le principe est le suivant :
je sauvegarde dans un fichier texte le nom de ma datawindow, le nom de ma colonne, la position du X,la position du Y
EX : D_TEST COL1 9 261
D_TEST COL2 279 302....
A l'ouverture de ma fenêtre je vais lire le fichier et repositionne mes colonnes.
En passant dans le debugger dans le cas qui me pose problème, je récupère bien les bonnes valeurs mais l'affichage n'est pas correct.
Pour être plus précis quand je dis n'est pas correct c'est que certaines colonnes se positionnent comme souhaité mais d'autres pas...
Pour info je suis en PB9.0.3 et pour déplacer mes colonnes j'utilise la fonction Modify.
Voilà j'espère avoir été assez clair.
Je n'ai pas donné le code car il est assez important (en taille ) mais si ce genre de problème n'est pas connu et que cela puisse vous aider (à...m'aider !!!) je peux vous le soumettre.
Merci d'avance.
Hors ligne
salut,
on peut avoir une capture d'ecran de tes alignements ?
Hors ligne
Quelle réactivité !!!
Voici la capture d'écran :
http://img133.imageshack.us/my.php?image=captureow0.png
pour info l'ordre sauvegardé était :
PERSONNEL,DATE,NOM,DUREE,PRENOM,QUANTITE...
Hors ligne
Oui il s'agit bien d'une datagrid
Hors ligne
theoriquement, ca fonctionne pour les tabulars et freeform...
mais , on est ici dans le cas d'une grid...
tu as un exemple d'ecran ou ca s'aligne n'importe comment ? (histoire de voir)
Hors ligne
Ben l'image que j'ai envoyé est un exemple.
Dans le fichier texte j'ai l'ordonnancement suivant :
DW Colonne X Largeur
----------------------------------------
D_1 PERSONNEL 151 417
D_1 DATE 576 279
D_1 NOM 864 416
D_1 DUREE 1289 174
D_1 PRENOM 1472 283
D_1 QUANTITE 1765 361
.....
Et comme tu peux le voir sur l'image l'ordre réaffecté est :
PERSONNEL,NOM,DATE,DUREE,PRENOM,QUANTITE....
La colonne NOM ne se trouve pas à la bonne place.
Et si j'ai une dw ne contenant que des colonnes (même une grid), cela fonctionne correctement.
Hors ligne
le probleme vient d'une colonne compute , c'est ca ?
mais, est ce que cette colonne existe deja sur ta dw ?
Hors ligne
oui, cette colonne existe déjà.Il s'agit de la colonne de gauche ou on peut voir la main sur l'image.
Si je supprime cette colonne pour tester, je me retrouve avec les colonnes correctement ordonnées.
Hors ligne
je simulerai un test cet apres midi...
le foot m'attend moi !
Hors ligne
Oki, bon match.
Pour info j'ai fait le test en remplaçant le compute field par un compute column et ce n'est pas mieux.
Hors ligne
sinon moi pour mémoriser l'ordre des colonnes je faisait un LibraryExport de la DW modifié par le user dans une pbl livrée vide avec l'appli (genre user_dws.pbl) et quand j'ouvre une fenetre contenant une DW la 1ere chose que je fais est de regarder si il n'y a pas une version sauvée de la DWO dans user_dws.pbl et si oui je charge cette version là.
il y a aussi d'autres trucs auquels faire attention genre les critères de Filtre/tris qui sont sauvés avec la DW ce qu'on ne veut pas forcément mais pour l'ordre des colonnes je pense que ça marchait assez bien.
Hors ligne
je viens de faire un test sur une datagrid...
voila,
compute_1 id_utilisateur cr_typac
x=9 x=277 x=777
j'ai lancé mon script :
dw_1.modify("id_utilisateur.x=27 cr_typac.x=9 compute_1.x=77")
ca marche super bien ! (sous pb7 en tout cas)
le probleme vient peut etre du code ?
Hors ligne
bon ben je vais me pencher sur le code, si je trouve quelquechose je vous fait signe.
Merci pour l'aide ;)
Hors ligne