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 23-03-2007 10:10:51

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

[RESOLU] Largeur d'un dataobject

Bonjour à tous,

J'ai besoin de connaître la largeur totale d'un dataobject pour afficher ou non certaines options si il dépasse de la datawindow.

Est-ce possible ? et comment ?


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#2 23-03-2007 10:15:15

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Largeur d'un dataobject

en faisant un describe ça ne marche pas?

http://pbadonf.fr/forum/viewtopic.php?id=57

Hors ligne

 

#3 23-03-2007 10:25:25

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

Re: [RESOLU] Largeur d'un dataobject

Code: pb

 dw_1.width 


Attention: Cà donne la largeur en unités PB: Il faut convertir au besoin...

Dernière modification par foon (23-03-2007 10:27:34)


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

Hors ligne

 

#4 23-03-2007 10:39:20

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Largeur d'un dataobject

foon a écrit:

Code: pb

 dw_1.width 

ca me donne que la largeur de la datawindow
ce que je veux c'est la largeur de l'objet

j'ai essayé ca :

Code: pb

string ls_largeur

ls_largeur = this.Object. emp_name.Width

mais je ne sais pas à quoi correspond emp_name danc ca marche pas

au secours !


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#5 23-03-2007 10:45:10

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Largeur d'un dataobject

Salut,

Le emp_name correspond au nom de ta colonne dans ta datawindow (par exemple).

Hors ligne

 

#6 23-03-2007 10:55:22

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

Re: [RESOLU] Largeur d'un dataobject

Bonjour abdelta,

Ton code te permet effectivement de récupérer la largeur de la colonne emp_name dans le dataobject.

Pour avoir la largeur totale du dataobject, il te faut récupérer la position du champ
le plus à droite de ton dataobject, et y ajouter sa largeur.

Par exemple, si emp_name est ton champ le plus à droite dans ton dataobject, tu fais:

Code: pb

Long ll_width

ll_width = Long( this.object.emp_name.X ) + Long( this.object.emp_name.width )


(PS: Je ne sais pas s'il existe réellement la possibilité de récupérer en direct la largeur totale d'un dataobject,
en faisant un describe par exemple)


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

Hors ligne

 

#7 23-03-2007 11:35:13

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Largeur d'un dataobject

Je veux bien mais je ne connais pa à l'avance le nom de ma dernière colonne (c'est toujours des dataobjects de type grid mais je les attribue par script)

Autrement, par un describe je veux bien mais un dataobject n'a pas de propriété width...


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#8 23-03-2007 12:32:15

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

Re: [RESOLU] Largeur d'un dataobject

Arrêtes-moi si je me trompe, mais si tu les attribues par script, tu dois savoir le nom de tes différentes colonnes, non?

Auquel cas il te suffit de faire une boucle au préalable sur toutes tes colonnes, de récupérer leur position,
et de déterminer laquelle a la position la plus grande: Ce sera ta dernière colonne dans ton dataobject.


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

Hors ligne

 

#9 23-03-2007 12:58:21

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

Re: [RESOLU] Largeur d'un dataobject

Encore mieux: Tu peux savoir quel est ton nombre total de colonnes dans ton dataobject:

Cà donne :

Code: pb

 
long ll_countcolumns, &
       ll_count,&
       ll_X,&
       ll_width,&
       ll_columnX,&
       ll_dwowidth

ll_count = 1
ll_columnX = 0
ll_X = 0
ll_width = 0
ll_dwowidth = 0
ll_countcolumns = This.Object.DataWindow.Column.Count

DO WHILE ll_count <= ll_countcolumns 
LOOP

    ll_X = long( this.describe("#"+ string(ll_count) + ".X"))
    
    IF ll_columnX < ll_X THEN

          ll_columnX  = ll_X 
          ll_width = long( this.describe("#"+ string(ll_count) + ".width"))
          
    END IF

    ll_count = ll_count ++

END LOOP

ll_dwowidth = ll_columnX  + ll_width

Dernière modification par foon (23-03-2007 13:03:47)


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

Hors ligne

 

#10 23-03-2007 13:00:43

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

Re: [RESOLU] Largeur d'un dataobject

je vois un petit probleme...
s'il s'agit d'un datagrid... c'est que tu peux redimensionner la largeur de tes colonnes...


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

Hors ligne

 

#11 23-03-2007 13:08:09

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

Re: [RESOLU] Largeur d'un dataobject

Damned!

Il faudra alors lancer mon script à chaque redimensionnement de colonne
dans la datawindow (losefocus?).


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

Hors ligne

 

#12 23-03-2007 13:09:52

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Largeur d'un dataobject

oui je le pense aussi

Hors ligne

 

#13 23-03-2007 13:16:10

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Largeur d'un dataobject

le redimensionnement des colonnes sera impossible (je vais empêcher l'utilisateur de le faire)

par contre je ne vois pas l'utilité de la boucle while. Est-ce qu'il ne suffirait pas de ca ?

Code: pb

long ll_countcolumns, ll_x, ll_width, ll_largeur

ll_countcolumns = long(this.object.datawindow.column.count)
ll_x = long( this.describe("#"+ string(ll_countcolumns) + ".X"))
ll_width = long( this.describe("#"+ string(ll_countcolumns) + ".width"))

ll_largeur = ll_x + ll_width

Dernière modification par abdelta (23-03-2007 13:32:20)


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#14 23-03-2007 13:17:49

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Largeur d'un dataobject

ca va pas te le faire pour toutes tes colonnes  la non?

Hors ligne

 

#15 23-03-2007 13:21:34

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

Re: [RESOLU] Largeur d'un dataobject

Théoriquement (et notamment pour une grid où il n'est pas possible de déplacer les colonnes), effectivement, çà pourrait marcher, mais ta colonne ayant le plus grand numéro n'est pas forcément la plus à droite dans ton dataobject si des colonnes sont insérées après la création de celui-ci.


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

Hors ligne

 

#16 23-03-2007 13:31:07

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Largeur d'un dataobject

thezerg a écrit:

ca va pas te le faire pour toutes tes colonnes  la non?

Ce que je veux c'est la largeur totale, pas celle de chaque colonne. Je pense donc qu'il me suffit d'avoir la position et la largeur de la dernière colonne.




Ensuite, mes dataobject sont créés définitivement (s'il faut les refaire, on les refait complètement, on ne rajoute pas une colonne après la création).

Dans ce cas, la dernière colonne aura-t-elle le plus grand numéro ?


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#17 23-03-2007 13:36:56

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Largeur d'un dataobject

je pense que ca devrait être bon alors dans ce cas oui

Hors ligne

 

#18 23-03-2007 13:37:24

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

Re: [RESOLU] Largeur d'un dataobject

Je dirais, dans ce cas, oui.

Mais je te conseille quand même de tester au préalable.


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

Hors ligne

 

#19 23-03-2007 13:40:03

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

Re: [RESOLU] Largeur d'un dataobject

Oups! désolé Thezerg, je n'avais pas vu ta réponse


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

Hors ligne

 

#20 23-03-2007 13:45:11

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

Re: [RESOLU] Largeur d'un dataobject



HS --
que d'ardeurs pour une jeune femme en detresse...






mini_vache1


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

Hors ligne

 

#21 23-03-2007 13:48:00

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

Re: [RESOLU] Largeur d'un dataobject

pick ouic a écrit:



HS --
que d'ardeurs pour une jeune femme en detresse...




HS -- Pourquoi tu crois que j'ai pris un chevalier en avatar



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

Hors ligne

 

#22 23-03-2007 13:50:22

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Largeur d'un dataobject

Merci à tous !

A la prochaine ! Je pense que je vais encore avoir besoin d'aide mais ce sujet est clos en ce qui me concerne.


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#23 23-03-2007 15:08:30

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Largeur d'un dataobject

abdelta a écrit:

Ensuite, mes dataobject sont créés définitivement (s'il faut les refaire, on les refait complètement, on ne rajoute pas une colonne après la création).

Dans ce cas, la dernière colonne aura-t-elle le plus grand numéro ?

quelle drôle d'idée ... ?

j'espère dans ce cas que tes DW n'ont pas bcp de mise en forme parceque sinon c'est à refaire à chaque fois aussi...

je ne connais pas bien ton contexte évidemment mais cette déclaration ressemble à un voeux pieux qui ne sera sans doute pas respecté (si pas par toi par qqun d'autre) ce qui amènera son lot de problèmes par la suite.

enfin moi j'dis ça...


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#24 23-03-2007 15:40:35

abdelta  
Bienfaitrice du site
Award: bf
Lieu: La Daguenière
Date d'inscription: 21-03-2007
Messages: 393
Pépites: 14,703
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Largeur d'un dataobject

cette phrase n'était vraie que dans son contexte : c'est à dire avec des dataobject de type grid et dont j'aurai besoin dans la datawindow qui m'a posé le problème.

Mais c'est gentil de s'en inquiéter !


La sirène noire
http://www.nerdtests.com/images/badge/bf1f6c78865210a9.gif

Hors ligne

 

#25 23-03-2007 15:42:38

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

Re: [RESOLU] Largeur d'un dataobject

on est tous gentil ici.... (sauf peut etre moi.... )


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

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22