PB à toute heure et à tout moment. (à parcourir avec modération)

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-12-2010 09:40:13

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

[RESOLU] Ajout d'une colonne à la DW

Bonjour,

Je sais pas comment ajouter dynamiquement une nouvelle colonne dans une datawindow (external) qui n'a pas d'une requete derrière?

J'ai posé cette question par ce que je veux créer une DW dynamique avec les colonnes souhaitées.

Cette DW doit être générale, pour servir de contenir des données à exporter...

Quelqu'un a une idée ?

Dernière modification par mattdamon (06-01-2011 09:52:57)

Hors ligne

 

#2 14-12-2010 11:00:20

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

Je vois que le seul moyen est d'utiliser le describe et le Syntaxfromsql pour créer la nouvelle DW 

Hors ligne

 

#3 14-12-2010 11:38:38

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: [RESOLU] Ajout d'une colonne à la DW

Salut,

   Regarde le message suivant tu devrais trouver ce que tu cherche.

http://pbadonf.fr/forum/viewtopic.php?pid=19627#p19627

Hors ligne

 

#4 05-01-2011 09:41:41

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

Bonjour,

Je ne comprend pas pourquoi la create ça fonctionne pas avec la syntaxe ci-dessous :

remarque : la create ça marche avec la datastore.

Code: pb

datawindow ldw_datawindow
ldw_datawindow = Create datawindow 

ll_cod_ret1  = ldw_datawindow.create(ls_syntaxe , ls_erreur)
ll_cod_ret2   = ldw_datawindow.setTransObject (SQLCA)

ll_cod_ret1 me retourne -1 !!!!

Code: pb

release 11.5; datawindow(units=0 timer_interval=0 color=1073741824 processing=0 print.documentname=""  
print.orientation=0 print.margin.left=0 print.margin.right=0 print.margin.top=0 print.margin.bottom=0 
print.paper.size=0 print.paper.source=0 selected.mouse=no) header(height=69 color="536870912" )  
summary(height=5 color="536870912" )   footer(height=1 color="536870912" )   detail(height=65 color="536870912" ) 
table (   column=(type= char(12) updatewhereclause=yes name= A dbname= "A") 
column=(type= char(30) updatewhereclause=yes name= B dbname= "B") 
column=(type= char(10) updatewhereclause=yes name= C dbname= "C") 
column=(type= char(10) updatewhereclause=yes name= D dbname= "D") 
column=(type= char(3) updatewhereclause=yes name= E dbname= "E") 
column=(type= char(3) updatewhereclause=yes name= F dbname= "F") 
column=(type= number updatewhereclause=yes name=   G dbname= "  G") 
column=(type= number updatewhereclause=yes name=   H dbname= "  H") 
column=(type= number updatewhereclause=yes name=   I dbname= "  I") 
column=(type= number updatewhereclause=yes name=   K dbname= "  K") 
column=(type= number updatewhereclause=yes name=   L dbname= "  L") 
column=(type= char(50) updatewhereclause=yes name=   M dbname= "  M") 
column=(type= char(50) updatewhereclause=yes name=   N dbname= "  N") )

Dernière modification par mattdamon (05-01-2011 10:13:27)

Hors ligne

 

#5 05-01-2011 10:14:55

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] Ajout d'une colonne à la DW

AMHA ça vient du premier create. Create ne peut être utilisé que pour les objets non visuels.
Essaie create(ls_syntaxe , ls_erreur) sur un contrôle dw existant


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

Hors ligne

 

#6 05-01-2011 11:08:23

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

shahin a écrit:

AMHA ça vient du premier create. Create ne peut être utilisé que pour les objets non visuels.
Essaie create(ls_syntaxe , ls_erreur) sur un contrôle dw existant

J'ai pas compris que ce que tu veux dire excatement Shahin... mais comment je peux utiliser un controle dw existant par ce que je suis en train d'écrire dans une fonction d'un user object non visual !!!

Merci pour ton retour...

Hors ligne

 

#7 05-01-2011 11:40:58

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] Ajout d'une colonne à la DW

Salut Matt,
Tu as tout à fait raison. Je dis de faire un test avec une fenêtre et une DW de tests, juste pur voir si ça vient de la syntaxe ou pas.


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

Hors ligne

 

#8 05-01-2011 13:48:36

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

shahin a écrit:

Salut Matt,
Tu as tout à fait raison. Je dis de faire un test avec une fenêtre et une DW de tests, juste pur voir si ça vient de la syntaxe ou pas.

Effectivement, j'ai testé avec une dw existante et ca fonctionne bien, mais avec la datawindow crée dynamiquement ne ça marche pas.

Donc il ne s'agit pas d'un problème de syntaxe mais de la  :

Code: pb

datawindow ldw_datawindow
ldw_datawindow = Create datawindow



Donc, c'est quoi la solution d'après vous pour créer la syntaxe pour une datawindow dynamique dans un user object non visual !!!!!

Merci d'avance !

Dernière modification par mattdamon (05-01-2011 13:50:05)

Hors ligne

 

#9 05-01-2011 14:29:27

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 708
Pépites: 11,303
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Ajout d'une colonne à la DW

salut,
deux options :
1) soit tu peux passer par une datastore, et donc un "Create datastore" suffit
2) soit tu dois absolument créer une datawindow dynamiquement, et là il te faut le support sur lequel le créer : une référence à un objet Window valide. Ainsi après ton "create datawindow", il faudra faire un "lw_parent.OpenUserObject"


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#10 05-01-2011 14:59:12

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

xlat a écrit:

salut,
deux options :
1) soit tu peux passer par une datastore, et donc un "Create datastore" suffit
2) soit tu dois absolument créer une datawindow dynamiquement, et là il te faut le support sur lequel le créer : une référence à un objet Window valide. Ainsi après ton "create datawindow", il faudra faire un "lw_parent.OpenUserObject"

Merci xlat pour ta réponse rapide.

En fait, pour la solution 1, je l'ai testé mais il n'a pas donné une bonne résultat pour mon cas....

Pour la solution N°2, tu peux me donner un exemple de comment le faire ?

Dernière modification par mattdamon (05-01-2011 15:00:02)

Hors ligne

 

#11 05-01-2011 15:22:50

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 708
Pépites: 11,303
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Ajout d'une colonne à la DW

un exemple pur un statictext, mais ca doit être la même chose avec une datawindow (je n'ai pas retrouvé de code...)

Code: pb

  long ll_x = 4, ll_y = 4, ll_h = 4, ll_w = 4
  i_sts_parent = aw_win
  i_st_top = create statictext
  aw_win.Openuserobject( i_st_top, ado.x - ll_x, ado.y - ll_y)
  i_st_top.width = ado.width + 2 * ll_x
  i_st_top.height = ll_h
  i_st_top.border = true
  i_st_top.bordercolor = rgb( 255, 0, 0 )
  i_st_top.borderstyle = StyleBox!
  i_st_top.visible = true

https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#12 05-01-2011 16:24:13

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

xlat a écrit:

un exemple pur un statictext, mais ca doit être la même chose avec une datawindow (je n'ai pas retrouvé de code...)

Code: pb

  long ll_x = 4, ll_y = 4, ll_h = 4, ll_w = 4
  i_sts_parent = aw_win
  i_st_top = create statictext
  aw_win.Openuserobject( i_st_top, ado.x - ll_x, ado.y - ll_y)
  i_st_top.width = ado.width + 2 * ll_x
  i_st_top.height = ll_h
  i_st_top.border = true
  i_st_top.bordercolor = rgb( 255, 0, 0 )
  i_st_top.borderstyle = StyleBox!
  i_st_top.visible = true

Désolé, l'idée et exemple pas clair...

Hors ligne

 

#13 05-01-2011 17:56:41

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

Je voulais surcharger une datawindow existante dans une autre PBL pour l'utiliser dans ma fonction de userobject non visual.

Pour se faire, dans le user object je fais comme suit pour pouvoir utiliser ldw_datawindow :

w_fenetre.wf_surcharge_dw(ldw_datawindow)

Je comprend pas pourquoi ca marche pas ...

Hors ligne

 

#14 06-01-2011 08:32:06

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

Une idée SVP, c'est  extrêmement urgent   

Hors ligne

 

#15 06-01-2011 09:51:40

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Ajout d'une colonne à la DW

Désolé, solution abondonnée.
En fin, j'utise la datastore au lieu de la datawindow et ça fonctionne bien.
Ce topic a une relation avec  :

http://pbadonf.fr/forum/viewtopic.php?pid=27938#p27938



Donc c'est résolu aussi.

Dernière modification par mattdamon (06-01-2011 09:52:03)

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22