Pas de problème (pb), que du PowerBuilder (PB) ^^

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 14-04-2014 14:49:04

ben147  
Membre Geek
Lieu: Paris
Date d'inscription: 20-06-2008
Messages: 65
Pépites: 293
Banque: 0
Site web

[RESOLU] Modifier le data style d'une colonne en fonction d'une autre colonne

bonjour !
bon j'ai un petit soucis.

en gros dans une datawindow, j'ai une colonne qui doit passer en mode Dropdowndatawindow, uniquement quand une autre colonne a une valeur particulière.

concrètement, j'ai une colonne qui s'appelle "valeur" qui est en mode "edit" simple, mais quand dans la colonne "label" il y a la valeur "data type", bah la colonne valeur doit passer en mode DDDW.

du coup j'ai fait un truc comme ça, là , dans l'evenement click de la DW :

Code: pb

string ls_label
string ls_erreur
integer li_retour

datawindowchild ldwc_current

il_row = row
//messagebox( 'il_row', string(il_row))

if dwo.name = "valeur" then
  
  ls_label = this.getitemstring(row, "label")
  if right(ls_label, 9) = "data type" then
    
    ls_erreur = this.Modify("valeur.DDDW.Name='d_dddw_data_type'")
    
    li_retour = this.GetChild( "valeur", ldwc_current )
    ldwc_current.settransobject(SQLCA)
    ldwc_current.retrieve()
    
    
    //messagebox(ls_label, "salut, c'est cool !")
    
  else
    
    ls_erreur = this.Modify("valeur.DDDW.Name=''")
    
  end if
  
end if

et ben ça marche pas
(genre le getchild me ramène -1)

une idée, peut-être ?

correction quote -> code par seki

Dernière modification par ben147 (15-04-2014 11:53:16)

Hors ligne

 

#2 14-04-2014 14:50:40

ben147  
Membre Geek
Lieu: Paris
Date d'inscription: 20-06-2008
Messages: 65
Pépites: 293
Banque: 0
Site web

Re: [RESOLU] Modifier le data style d'une colonne en fonction d'une autre colonne

ah et aussi, je sais pas quoi mettre dans le "else" pour que ça repasse en mode edit simple

Hors ligne

 

#3 14-04-2014 15:10:40

ben147  
Membre Geek
Lieu: Paris
Date d'inscription: 20-06-2008
Messages: 65
Pépites: 293
Banque: 0
Site web

Re: [RESOLU] Modifier le data style d'une colonne en fonction d'une autre colonne

aaaah pardon .... le getchild me ramenait -1, parce que je me suis gourré dans le nom de ma dropdown
bon par contre, je sais toujours pas quoi mettre dans le Elese pour que ça revienne en mode Edit simple .....

Hors ligne

 

#4 14-04-2014 15:24:04

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

Re: [RESOLU] Modifier le data style d'une colonne en fonction d'une autre colonne

Pour changer d'Edit Style via le code il suffit de modifier une des propriétés de l'edit Style voulu.

Ex tu veux passer une colonne en EditStyle DDDW tu fait par exemple

Code: pb

this.Modify("valeur.DDDW.Name='d_dddw_data_type'")

donc si tu veux remettre un Edit Style "Edit simple" tu peux faire un truc du genre :

Code: pb

this.Modify("valeur.EDIT.Limit=0")

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

 

#5 14-04-2014 15:41:15

ben147  
Membre Geek
Lieu: Paris
Date d'inscription: 20-06-2008
Messages: 65
Pépites: 293
Banque: 0
Site web

Re: [RESOLU] Modifier le data style d'une colonne en fonction d'une autre colonne

alors pour le passage en mode dropdown, c'est ce que j'avais fait, et ça ça marche.

pour le passage en mode edit, ce que tu proposes, ça n'a pas l'air de fonctionner .... en gros, la dropdown apparait même sur les lignes ou elle ne devrait pas apparaitre, là

Edit :
en gros ça fait :

1 - je selectionne la colonne sur une ligne ou ça doit etre en edit simple : ça marche
2 - je passe sur une ligne ou la colonne doit m'afficher la dropdown : ça marche
3- je repasse sur une ligne qui doit etre en edit simple : ça marche pas, la drop down apparait.

mon code c'est ça, là :

Code: pb

string ls_label
string ls_erreur
integer li_retour

datawindowchild ldwc_current

il_row = row
//messagebox( 'il_row', string(il_row))

if dwo.name = "valeur" then
  
  ls_label = this.getitemstring(row, "label")
  if right(ls_label, 9) = "data type" then
    
    ls_erreur = this.Modify("valeur.DDDW.Name='d_dddw_datatype'")
    ls_erreur = this.Modify("valeur.DDDW.displaycolumn=a_ritd_des")
    ls_erreur = this.Modify("valeur.DDDW.datacolumn=a_ritd_nam")
    ls_erreur = this.Modify("valeur.DDDW.dddw.allowedit=no")
    
    li_retour = this.GetChild( "valeur", ldwc_current )
    ldwc_current.settransobject(SQLCA)
    ldwc_current.retrieve()
    
//     dddw.displaycolumn=a_rirc_nam dddw.datacolumn=c_rirc_repconid dddw.percentwidth=0 dddw.lines=0 dddw.limit=0 dddw.allowedit=no
    
    
    //messagebox(ls_label, "salut, c'est cool !")
    
  else
    
    //ls_erreur = this.Modify("valeur.DDDW.Name=''")
    //ls_erreur = this.Modify("valeur.DDDW.dddw.allowedit=yes")
    this.Modify("valeur.EDIT.Limit=0")
    
  end if
  
end if


remplacement de la balise quote -> code par seki

Dernière modification par ben147 (14-04-2014 15:43:47)

Hors ligne

 

#6 15-04-2014 11:52:34

ben147  
Membre Geek
Lieu: Paris
Date d'inscription: 20-06-2008
Messages: 65
Pépites: 293
Banque: 0
Site web

Re: [RESOLU] Modifier le data style d'une colonne en fonction d'une autre colonne

ah pardon pour la balise.
oui sinon en fait j'avais fait une erreur de syntaxe, j'ai réglé le probleme.

dans le else, j'ai mis ça :

Code: pb

       
ls_erreur = this.Modify("valeur.DDDW.Name=''")
ls_erreur = this.Modify("valeur.DDDW.allowedit=yes")

et ça marche.
résolu, donc

correction de la balise code par seki

Hors ligne

 

#7 15-04-2014 15:19:37

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Modifier le data style d'une colonne en fonction d'une autre colonne

ben147 a écrit:

ah pardon pour la balise.

ce qu'il fallait comprendre, c'est que après "code" dans la balise pour insérer du code il faut rajouter "=pb" (tout en minuscules) avec ses petits doigts pour que ça colorie en mode "PowerBuilder"...


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22