Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Je suis en PB 9.0
Bonjour j'ai une datawindow, dont un des champ est lié à une DDDW.
J'ai codé l'itemchanged, mais je voudrais que ce code ne sois pas exécuté lorsque l'utilisateur "voyage" dans la DDDW, quand il appuie sur les touches haut et bas du clavier.
J'ai essayé de coder un event e_dwnkey, ayant comme event ID pbm_dwnkey.
J'ai juste mis un messagebox, mais quand j'appuie sur ces 2 touches, rien ne se passe ????
Apparement PB ne passe pas par là.
Quel event ID puis-je utiliser pour intercepter l'évènement ?????
J'espère être claire
Autre question, j'ai coché "always show list" pour ma DDDW, et j'ai mis 10 comme valeur dans "lines in dropdown".
PB ne déroule pas la liste automatiquement, à l'exécution, comment faire pour qu'il affiche toujours une liste de 10 cases vide ????
Merci beaucoup
Hors ligne
Bonjour,
faut-il que l'ItemChanged() soit exécuté (une seule fois) lorsque l'on "quitte" la colonne DDDW ? Si non, tu peux tester le dwo.name dans ton ItemChanged() et n'exécuter ton traitement que si le dwo.name est différent de ta colonne DDDW.
Pour la seconde question, je ne vois pas comment faire .
Hors ligne
pour le test de flèches j'ai rajouté le test
if KeyDown(KeyDownArrow!) OR KeyDown(KeyUpArrow!) then
Et ça marche !!!
Pour la 2ème question, j'ai compris, +- : il affiche le nb de lignes existantes dans ma DDDW, ce qui est logique.
Par contre j'ai un autre problème
J'ai mon champ, qui est lié à une DDDW.
Au début, je n'ai pas de ligne, ok.
Je rajoute 3 lignes.
J'étend ma liste et je clique sur la 3ème ligne, puis je la modifie ==> PB me modifie toujours la 1ère ligne !!!
Comment faire pour récupérer le bon n° de ligne à modifier ????
Voici le code de mon itemchanged :
long ll_rowchild choose case dwo.name case 'hospi_service' // Si on bouge juste dans la liste, pas de maj if KeyDown(KeyDownArrow!) OR KeyDown(KeyUpArrow!) then messagebox ("","haut/bas") else ll_rowchild = idwc_dw.getrow() if ll_rowchild > 0 then idwc_dw.setitem (ll_rowchild,'service',data) end if end choose
La définition de ma dw child se fait au constructor de la dw.
Hors ligne
Bonjour
Je vais vous expliquer ce que je veux faire eaxectement.
J'ai une DW hopital contenant un n° inami, une description et une liste de services.
Cette DW est external, elle peut contenir 25 hopitaux et max 10 services.
J'ai défini ma DW avec un n° inami, une descr et un n° de service.
Ce n° de service est une DDDDW lié à une DW contenant un n° de service et un n° inami.
Pour l'affichage, je voudrais afficher la liste des n° inami et quand je clic sur une loupe, je zoom sur ne n° et j'affiche celui-ci, la descr et la liste des services.
Pour le moment le zoom focntionne correctement mais j'ai toujours un problème à l'encodage des services.
Suis-je dans le bon, pour construire ma DW ou non ?
Avez-vous des idées ??
Ps : j'aurais voulu vous montrer l'image du graphisme de ma dw, mais je ne sais pas comment faire.
Merci beaucoup
Hors ligne
Salut, pour mettre une image tu dois d'abord l'héberger sur le net (chez imageshack par exemple) ensuite dans ton sujet tu dois cliquer sur le bouton "Image" représenté par une image derrière un maillon de chaine (4eme icone en partant de la fin), là tu aura une boite de dialogue qui apparaîtra où tu devra rentrer l'adresse (URL) qui t'a été donnée plus tôt sur le site où tu a hébergé ton image.
Hors ligne
Merci, voici l'image de ma DW
[img align=G][IMG]http://imageshack.us/a/img826/69/madw.jpg[/img][/img]
Hors ligne
un petit souci à la construction du lien on dirait mais bon on peut quand même voir l'image en cliquant dessus ;-)
Uploaded with ImageShack.us
ha voilà en fait même pas besoin de passer par le bouton "image" il suffit de coller le bon lien de ImageShack, celui dans la boite "Intégrer cette mage" à la ligne qui dit "Forum"
pour ton problème proprement dit je ne saurai pas te répondre directement, perso je pense pas que je m'y prendrai comme ça car la manipulation des DDDW m'a toujours paru un peu foireuse mais ce n'est que mon avis et je suppose que tu n'as pas forcément le choix de la méthode. Bonne chance pour la suite en espérant qu'un autre du forum puisse t'aider ;-)
Dernière modification par rincevent (26-09-2012 11:27:28)
Hors ligne
Sylvie de hannut a écrit:
Pour le moment le zoom focntionne correctement mais j'ai toujours un problème à l'encodage des services.
qu'entends tu par là ?
Hors ligne
En fait j'arrive à zoomé parfaitement.
Pour ce qui est de l'encodage des services dans ma dddw, je n'arrive pas à encoder le service sur la ligne désirée.
Quand je crée 4 lignes, par ex, si je remplis ma 1ère ligne et que je clique ensuite sur la 3ème, je fait le trt qui se trouve dans l'itemchanged, même si j'ai spécifié qu'on ne faisait le trt que si on n'appuyais ni sur les flèches, ni si on cliquait.
Bref : flèche haut ou bas : pas de trt
clic : pas de trt (==> ne fonctionne pas !! )
autre : copie de la donnée encodée à la bonne ligne.
Est-je été claire ???
Hors ligne
Sylvie de hannut a écrit:
Est-je été claire ???
Heuuu
A propos du "zoom", si je reprends l'image qui a été mise dans la discussion : si tu cliques sur la loupe en face du 2ème hopital "12345678955"
- le tableau qui suit le premier hopital "12345678901" se replie
- un tableau apparaît en dessous du "12345678955" pour permettre la saise de la description et des se(r)vices ?
?
Hors ligne
J'arrive à encoder mes données dans ma liste !!!
Plus de problème avec le clic, j'ai tester les touches utilisées pour faire le trt ou non.
Mais il me reste un truc perturbant, comme je pars d'un champ de type dddw, quand on encode une donnée, elle s'écrit au-dessus de la liste, puis se positionne à la bonne place dans la liste.
CF :
Uploaded with ImageShack.us
Vous voyez pas un truc pour améliorer ça ????
Hors ligne
seki a écrit:
Heuuu
A propos du "zoom", si je reprends l'image qui a été mise dans la discussion : si tu cliques sur la loupe en face du 2ème hopital "12345678955"
- le tableau qui suit le premier hopital "12345678901" se replie
- un tableau apparaît en dessous du "12345678955" pour permettre la saise de la description et des se(r)vices ?
?
Non en fait c'est à ça que je voulais que mon écran ressemble, mais en fait quand je clic sur la loupe la taille de la zone détail de ma DW s'adapte.
Donc en réalité, quand je zoom, je ne vois plus que le détail que d'un seul n° inami.
Je ne vois pas la liste des autres.
Si je veux voir le suivant, je voyage avec les flèches.
Sinon ce genre d'affichage est-il possible ????
Merci
Hors ligne