Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

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 21-05-2007 15:52:32

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

[RESOLU] Selection d'un object sur une ligne

Bonjour,

Sur ma datawnidow, en plus des champs de ma table, j'ai rajouté pour chaque ligne un bouton parcourir pour aller chercher une image.
J'aimerais afficher un appercu de cette image directement sur ma datawindow. Les images peuvent etre selectionnées pour chaque ligne.
Mon souci intervient lorsque je souhaite modifier mon object Picture de ma ligne.

Comment sélectionner le bon object picture parmi toutes les lignes? ( Je modifie le champ "chemin_icone" contenant le chemin de l'image dans la bonne ligne, mais parqu'il fait parti des item de ma DW)

Voici le code de l'evenement buttonclicked de ma DW (Les caractères etranges marquent la ligne me posant problème!):

Code: pb

string ls_pathname, ls_filename
blob lb_image
long fh, ll_ret

if dwo.name= 'b_parcourir' then
   ll_ret = GetFileOpenName ( "Sélectionnez une image", ls_pathname, ls_filename,"JPG", "JPG (*.JPG),*.JPG," )
end if

if ll_ret = 1 then
  this.setItem(this.getRow(),"chemin_icone",ls_pathname)

    fh = FileOpen(ls_pathname, StreamMode!)
    IF fh <> -1 THEN
      FileRead(fh, lb_image)
      FileClose(fh)
/////////////////???????                dw_incident_conclusion.p_image.SetPicture(lb_image)     ?????????  //////////////////////////////////////////
    END IF
end if

J'espère avoir été clair.

Merci

Hors ligne

 

#2 21-05-2007 15:56:24

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

Re: [RESOLU] Selection d'un object sur une ligne

Code: pb

dw_1.Object.bitmap_1.Filename = "exclaim.bmp"

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

Hors ligne

 

#3 22-05-2007 07:31:23

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Re: [RESOLU] Selection d'un object sur une ligne

Interdit.

Je rapelle que j'ai un picture par ligne : (pas de screen shot désolé...)

                             ma_colonne 1           ma_colonne 2          ma_colonne 3           apercu

ligne 1                       ******                    ******                *********                 ****          objet picture         bouton parcourir

ligne 2                       ******                    ******                *********                 ****          objet picture         bouton parcourir

...                                 ....                        ....                              ....


Des propositions?

Hors ligne

 

#4 22-05-2007 07:46:52

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

Re: [RESOLU] Selection d'un object sur une ligne

Code: pb

dw_1.Object.bitmap_1[ row ].Filename = "exclaim.bmp"

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

Hors ligne

 

#5 22-05-2007 08:00:00

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Re: [RESOLU] Selection d'un object sur une ligne

Code: pb

dw_incident_conclusion.Object.p_image.Filename = ls_pathname

Cette ligne me change les images des pictures de toutes mes lignes.

J'ai donc essayé ta proposition précédente mais il me génère une erreur :

Code: pb

dw_incident_conclusion.Object.p_image[this.getRow()].Filename = ls_pathname

??

Hors ligne

 

#6 22-05-2007 08:02:36

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

Re: [RESOLU] Selection d'un object sur une ligne

mial a écrit:

J'ai donc essayé ta proposition précédente mais il me génère une erreur :

Code: pb

dw_incident_conclusion.Object.p_image[this.getRow()].Filename = ls_pathname

??

ça donne quoi quand tu fais

Code: pb

dw_incident_conclusion.Object.p_image[1].Filename = ls_pathname

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

Hors ligne

 

#7 22-05-2007 08:04:59

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Re: [RESOLU] Selection d'un object sur une ligne

Code:

Error accessing external object...

Hors ligne

 

#8 22-05-2007 08:07:12

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Selection d'un object sur une ligne

A quoi correspond ton this.getrow()? Le "this" est bien ta datawindow dw_incident_conclusion?
Normalement, dans l'exemple que tu fournis, l'indice de ton tableau doit correspondre à une ligne de ta datawindow...
Il faut donc que tu vérifies que tu récupères bien un numéro de ligne valide.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#9 22-05-2007 08:14:55

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Re: [RESOLU] Selection d'un object sur une ligne

foon a écrit:

A quoi correspond ton this.getrow()? Le "this" est bien ta datawindow dw_incident_conclusion?
Normalement, dans l'exemple que tu fournis, l'indice de ton tableau doit correspondre à une ligne de ta datawindow...
Il faut donc que tu vérifies que tu récupères bien un numéro de ligne valide.

Oui this correspond a ma datawindow.

J'utilise deja this.getRow pour renseigner le single line edit dans la ligne correspondante au bouton parcourir sur lequel on a cliqué :

(Code du premier post)

Code: pb

this.setItem(this.getRow(),"chemin_icone",ls_pathname)

Tu es sur de la syntaxe? Parce qu'avec

Code: pb

dw_incident_conclusion.Object.p_image[1].Filename = ls_pathname

, il me génère une erreur.

Merci

Hors ligne

 

#10 22-05-2007 08:28:08

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Selection d'un object sur une ligne

Je ne suis effectivement pas sûr que cette syntaxe marche.
Personnellement, j'utilise toujours des computes avec l'expression "bitmap()":

Le principe est donc de créer une compute c_piture et un champ s_pathname récupérant le ls_pathname de ton image:

Dans c_piture, tu mets l'expression: bitmap( s_pathname )


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#11 22-05-2007 09:10:21

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Re: [RESOLU] Selection d'un object sur une ligne

Je viens d'essayer. C'est ce qui semble recommandé effectivement.

Le problème est qu'il me modifie touours le compute de la dernière ligne.

Ex : sur le ligne 1 je vais chercher avec mon bouton parcourir une image. C'est le compute de la 3eme et de la derniere ligne qui est modifié.

Hors ligne

 

#12 22-05-2007 09:15:23

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Selection d'un object sur une ligne

Testes le "This.GetRow" de ton SetItem pour vérifier que c'est bien ta ligne cliquée qui est retournée, et non la dernière ligne de ta datawindow (GetRow() donne la ligne courante, qui ne correspond pas forcément à la ligne sélectionnée)


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#13 22-05-2007 09:18:05

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Re: [RESOLU] Selection d'un object sur une ligne

Effectivement...tu as raison. Il me retourne la dernière ligne.

Etant dans l'evenement boutonclicked...l'argument row suffira!

Merci

Dernière modification par mial (22-05-2007 09:24:33)

Hors ligne

 

#14 22-05-2007 09:25:11

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Selection d'un object sur une ligne

Avec un SetRow() bien placé lors de la sélection de ta ligne, ça devrait marcher tout seul...
Préviens-nous si ça marche (...ou pas )

Désolé, croisement de messages... Effectivement, l'argument row te suffira ici, mais si tu utilises
GetRow ailleurs, n'oublies pas la gestion du SetRow au préalable afin d'être sûr de toujours récupérer la bonne ligne

Dernière modification par foon (22-05-2007 09:27:11)


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#15 22-05-2007 16:25:54

mial  
White & The Farmerz Gang
Lieu: Nancy
Date d'inscription: 09-02-2007
Messages: 113
Pépites: 4,366
Banque: 18,191,568,319,324

Re: [RESOLU] Selection d'un object sur une ligne

Résolu

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22