Après windows pour les nuls, voici PB pour les bons (ou presque).

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-09-2008 18:16:55

myname  
Membre
Date d'inscription: 23-09-2008
Messages: 8
Pépites: 52
Banque: 0

[RESOLU] Propriété dwobject

Bonjour,

J'ai une datawindow sous forme de liste construite dynamiquement.
Je souhaite mettre en exergue certaines lignes en utilisant la propriété .background.color des champs composant les lignes d'enregistrement.
Dans la majeur partie des cas, il n'y a pas de problème... seulement, certaines données font partie d'un groupe.
Il n'y a aucune information relative aux différents groupes dans la DW, j'ai donc besoin de générer la liste des éléments du groupe puis regarder si ma donnée s'y trouve.

Et là, c'est le drame...
Certains groupes possèdent un nombre important d'éléments, ce qui génère une syntaxe énorme à mettre dans la propriété du dwo.

1°) Quelle est la taille limite de la syntaxe d'une propriété ?
2°) Ne pouvant pas ajouter de compute ou de colonne dans ma datawindow, est-ce qu'il y a moyen de faire des tests sur une données qui externe à la DW ?

Voilou

Dernière modification par myname (30-09-2008 15:21:50)


PB12 / Sybase 12.5 / Sybase ASE 15 / Sybase IQ 12.7

Hors ligne

 

#2 23-09-2008 19:49:47

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

Re: [RESOLU] Propriété dwobject

Bonjour et par ici

Pour les posts, pense à préciser les versions et tout le toutim

myname a écrit:

J'ai une datawindow sous forme de liste construite dynamiquement.

les données et/ou la structure ? type de DW ? SQL ?

myname a écrit:

Je souhaite mettre en exergue certaines lignes en utilisant la propriété .background.color des champs composant les lignes d'enregistrement.
Dans la majeur partie des cas, il n'y a pas de problème... seulement, certaines données font partie d'un groupe.
Il n'y a aucune information relative aux différents groupes dans la DW, j'ai donc besoin de générer la liste des éléments du groupe puis regarder si ma donnée s'y trouve.

Et là, c'est le drame...
Certains groupes possèdent un nombre important d'éléments, ce qui génère une syntaxe énorme à mettre dans la propriété du dwo.

pourrais-tu nous faire voir un printscreen, un export de la syntaxe ?

myname a écrit:

1°) Quelle est la taille limite de la syntaxe d'une propriété ?

bonne colle

myname a écrit:

2°) Ne pouvant pas ajouter de compute ou de colonne dans ma datawindow, est-ce qu'il y a moyen de faire des tests sur une données qui externe à la DW ?

pourquoi pas de compute ?
oui, il y a moyen de faire des tests sur les données d'un DW quelque soit l'origine des données


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

Hors ligne

 

#3 23-09-2008 20:18:45

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,775,808

Re: [RESOLU] Propriété dwobject


En pb6.5 c'est limité à 32 767 caractères a peu près si je ne souviens bien


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#4 24-09-2008 10:05:17

myname  
Membre
Date d'inscription: 23-09-2008
Messages: 8
Pépites: 52
Banque: 0

Re: [RESOLU] Propriété dwobject

erasorz a écrit:

les données et/ou la structure ? type de DW ? SQL ?

La DataWindow est entièrement contruite en script selon les colonnes sélectionnées par l'utilisateur.

erasorz a écrit:

pourquoi pas de compute ?
oui, il y a moyen de faire des tests sur les données d'un DW quelque soit l'origine des données

Je ne peux pas changer la construction de la DataWindow, le but est simplement de modifier la propriété .background.color des champs et computes la composant.

Je vais développer davantage la problématique...

Admettons une datawindow simple avec une colonne nommée s_Garantie_Libelle.
Ce champ est un libelle de garantie.
Cette garantie fait partie d'un groupe de garantie.

Je souhaite modifier la couleur de toute les lignes correspondant à un groupe de garantie donné... seulement, je n'ai aucune donnée concernant le groupe dans ma datawindow.

Une solution consiste à récupérer les Libelles de l'ensemble des garanties correspondant au groupe donné et mettre un bout de code similaire "If( s_Garantie_Libelle in ( 'liste des libelles séparés par une virgule'), couleur_rouge, couleur_défaut)"
Le problème intervient lorsque le groupe de garantie comporte beaucoup d'éléments.
La syntaxe devient alors énorme...


PS : Concernant l'environnement, je suis sur PB9 / Sybase 12.5

Dernière modification par myname (24-09-2008 10:08:16)


PB12 / Sybase 12.5 / Sybase ASE 15 / Sybase IQ 12.7

Hors ligne

 

#5 24-09-2008 10:25:38

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

Re: [RESOLU] Propriété dwobject

je dis que c'est ballot de ne rien pouvoir ajouter à la DW
il te suffirait de rajouter le groupe de garantie (en invisible) et de coder un background.color en fonction en expression de DW
autrement ça devient effectivement très lourd et difficilement maintenable


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

Hors ligne

 

#6 30-09-2008 12:23:34

myname  
Membre
Date d'inscription: 23-09-2008
Messages: 8
Pépites: 52
Banque: 0

Re: [RESOLU] Propriété dwobject

Finalement, j'ai trouvé la solution...
J'ai fait une petite fonction qui gère les contrôles dont j'ai besoin.

Du coup, dans le .background.color, je code l'appel de ma fonction tout simplement.

Par exemple :
Pour une fonction : integer uf_IsInGroup( String as_Value, String as_Group)

dw_ToHighLight.Modify( "unChamp.BackGround.Color='654~tif(uf_IsInGroup( monChampValue, unGroupe), 456, 654)'")

Voilou


PB12 / Sybase 12.5 / Sybase ASE 15 / Sybase IQ 12.7

Hors ligne

 

#7 30-09-2008 15:17:09

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

Re: [RESOLU] Propriété dwobject

Bonjour,

Merci à toi pour ta réponse. N'oublies pas le [RESOLU]


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

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22