Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 03-07-2007 11:51:18

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

[RESOLU] DataWindow invisible ?

Bonjour,

J'ai un petit probleme concernant l'affichage d'une datawindow, en effet celle ci n'apparait pas sur la fenêtre alors que dans ses propriétés la case Visible est cochée.

Voici la capture d'ecran du painter de window :
http://d91d.free.fr/PowerBuilder/datawindow_invisible.JPG

Puis son affichage dans l'application :
http://d91d.free.fr/PowerBuilder/datawindow_invisible_execution.JPG

Et puis voici les sources de la fenetre et des datawindow objects correspondants :
- fenetre (objectuser en fait)
- datawindow objects : 1  2


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#2 03-07-2007 11:56:14

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] DataWindow invisible ?

Fait un InsertRow(0) de ta DW si ton retrieve ne ramène rien.
Juste pour voir


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#3 03-07-2007 12:11:44

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] DataWindow invisible ?

Pour info dans ton event itemchanged de ta DW principale tu as le code suivant :

Code: pb

dw_3.settransobject(SQLCA)
dw_3.retrieve(data)


Saches que le SetTransObject n'est pas obligatoire avant chaque Retrieve.
Il faut le faire après chaque association d'un dataobject à une DW pour associer la transaction à la DW.
Dans ton cas, je te conseille de le faire une seule fois dans le Constructor de ta dw_3 puisque le dataobject est associé dès la conception de ta fenêtre.


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#4 03-07-2007 14:02:44

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] DataWindow invisible ?

Désolé de repondre aussi tard mais il fallait que j'avance sur un autre point.

Effectivement le InsertRow(0) m'a fait apparaitre ma datawindow mais est ce qu'il y a une explication concrete a cela ou est ce un bug de power builder?

Dernière modification par Nephtis (03-07-2007 14:03:04)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#5 03-07-2007 14:06:02

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] DataWindow invisible ?

Nephtis a écrit:

Effectivement le InsertRow(0) m'a fait apparaitre ma datawindow mais est ce qu'il y a une explication concrete a cela ou est ce un bug de power builder?

en fait c'est normal quand le retrieve ne renvoit rien


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#6 03-07-2007 14:25:57

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] DataWindow invisible ?

eRaSorZ a écrit:

Nephtis a écrit:

Effectivement le InsertRow(0) m'a fait apparaitre ma datawindow mais est ce qu'il y a une explication concrete a cela ou est ce un bug de power builder?

en fait c'est normal quand le retrieve ne renvoit rien

Mais mon retrieve me renvoie bien une liste de valeur.


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#7 03-07-2007 14:30:04

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] DataWindow invisible ?

Nephtis a écrit:

Mais mon retrieve me renvoie bien une liste de valeur.

là je comprends plus alors ...


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#8 03-07-2007 14:37:49

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] DataWindow invisible ?

après le insertRow(0) je retrouve les 15 valeurs que je récupère dans la base de donnée (datawindow crée à partie d'une procédure stockée)

C'est pour ça que ça me semble quand même louche de devoir faire un insertRow(0) pour voir apparaitre ma datawindow

Mais bon sujet clos.

Dernière modification par Nephtis (03-07-2007 14:38:15)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#9 03-07-2007 14:56:38

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] DataWindow invisible ?

ici, il s'agit d'une dropdowndatawindowchild.

donc, il suffira de mettre ce code, dans le  constructor de dw_2

Code: pb

DataWindowChild ldw_child

integer li_rtncode

li_rtncode =  this.GetChild('id_pb', ldw_child)

IF li_rtncode = -1 THEN 
   MessageBox( &
    "Error", "Not a DataWindowChild")
   return
END IF



ldw_child.SetTransObject(SQLCA)
ldw_child.Retrieve()

Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#10 03-07-2007 15:43:12

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] DataWindow invisible ?

J'ai essayé ce nouveau code pour le constructor de dw_2 mais le résultat est que cela fait disparaitre la datawindow de ma fenetre.

J'ai même essayé de modifier légèrement le script pour y ajouter à la fin cette ligne de code :

Code:

ldw_child.InsertRow(0)

Mais le résultat est le même : pas de datawindow affichée sur la fenetre

Par contre j'ai bien compris la logique qui découle du fait qu'on a affaire à une DropDownDataWindowChild

Néamoins les résultats ne sont guère présents

Dernière modification par Nephtis (03-07-2007 15:43:52)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#11 03-07-2007 15:44:42

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] DataWindow invisible ?

dans le constructor de dw_2

Code: pb

DataWindowChild ldw_child

integer li_rtncode

this.insertrow(0)

li_rtncode =  this.GetChild('id_pb', ldw_child)

IF li_rtncode = -1 THEN 
   MessageBox( &
    "Error", "Not a DataWindowChild")
   return
END IF



ldw_child.SetTransObject(SQLCA)
ldw_child.Retrieve()

Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#12 03-07-2007 15:51:50

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] DataWindow invisible ?

Oulala, le sujet n'est pas clos ! J'ai bien dit de faire un insertrow(0) "pour voir".
Pick a raison, si c'est une DDDW (je n'ai pas regardé), elle se charge toute seule à l'insertion de ligne dans la DW dans laquelle elle est collée au moement du retrieve s'il ramène des lignes ou de l'insertrow (si l'autoretrieve est coché pour les versions 9 et supérieures)
Dans les cas où il faut un argument au retrieve de la DDDW, alors il vaut mieux désactiver l'autoretrieve de la colonne ayant la DDDW et le gérer dans le constructor de la DW un retrieve manuel (en passant par un getchild comme te le montre Pick).
Pour répondre à ta question s'il ne sagit pas d'un bug PB de ne pas avoir de présentation de la DW s'il n'y a pas de ligne : NON ce n'est pas un bug.
Pas de données => pas de ligne => pas de présentation à l'écran. Pas de bras => pas de chocolat.


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#13 03-07-2007 15:53:54

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] DataWindow invisible ?

eRaSorZ a écrit:

Nephtis a écrit:

Mais mon retrieve me renvoie bien une liste de valeur.

là je comprends plus alors ...

Je crois qu'il parle du retrieve de la DDDW et non de la DW dans laquelle elle est collée
La DDDW a des lignes, mais il ne les voit pas si la DW principale n'a pas de ligne....


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#14 03-07-2007 16:15:00

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] DataWindow invisible ?

Avec la deuxième version de ton constructor ça marche mieux pick ouic

Concernant les dropdatadatawindow:

- j'ai d_id_pb créé à partir d'une procédure stockée (cette procédure ne fait qu'un simple select * et la table n'est pas vide)

- j'ai aussi dddw_id_pb qui est de type dropdowndatawindow et dont la datawindowchild est d_id_pb

Maintenant j'espère que je ne me trompe pas dans la dénomination des différents objets.

Si j'ai bien compris ton message Chrnico, tu te demandais si le retrieve de d_id_pb fonctionne bien?

Je suis sous la version 6.5 de PowerBuilder.

Dernière modification par Nephtis (04-07-2007 07:31:02)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#15 04-07-2007 07:51:41

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] DataWindow invisible ?

Chrnico a écrit:

Pas de bras => pas de chocolat.

Excellent !

Nephtis, tu en es où maintenant ?
Qu'est ce qui fonctionne ou ne fonctionne pas ?


never let people work on more than one thing at once.

Hors ligne

 

#16 04-07-2007 07:59:42

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] DataWindow invisible ?

Alors avec le deuxième script constructor pour dw_2 la datawindow apparait (bien que je n'ai pas encore vraiment compris pourquoi elle n'apparait pas dans la première verion du script de pick ouic)

Maintenant il me reste quand même des choses a apprendre concernant cette association entre datawindow et datawindow child. Je sais pas si je dois créer un autre sujet pour ça puisqu'on s'éloigne du but d'origine.

Je pose quand même ici et si il faut je crée un autre post :

Désormais je souhaiterais selectionner une valeur particulière dans cette datawindow (dw_2) lorsque l'utilisateur cliquera sur une ligne d'une autre datawindow (dw_1). Faut t'il que je balaie la datawindowchild pour selectionner la bonne valeur ou faut il que je balaie la datawindow?


C'est bon j'ai trouvé la reponse à ma question tout seul, comme un grand

Dernière modification par Nephtis (04-07-2007 08:08:56)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22