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 16-05-2007 09:20:14

ben_ghost  
Membre Geek
Lieu: paris
Date d'inscription: 22-03-2007
Messages: 33
Pépites: 100
Banque: 0

[RESOLU] DW - Insertion d'une ligne

Bonjour,

J'utilise PB version 9.0 et grand debutant en PB.

Je suis confronté a petit probléme.

Je fais un soft qui permet de gérer des clients avec leurs CV

J'utilise plusieur datawindow pour visualiser des infos et je les sauvegarde en XML en local, cependant ces données doivent être centraliser sur une base de donnée type MySQL.
Pour garder une certaine concordance j'utilise une datawindow pour géré le referencement des clients puis une autre pour chaque "produit" (exp pro et formation).
le referencement s'éffectue par une donnée (refindex) qui sert de reference entre chaque datawindow.

j'ai donc une datawidow qui affiche la ligne unique du client (avec son refindex) puis une autre datawindow qui affiche les produits de se client (qui ont donc le même refindex).

Actuellement, lorsque j'essaye d'integrer un nouveau client je dois donc mettre obligatoirement initialiser refindex. le probléme c'est qu'il semblerait que lorsque j'essaye de faire un additem il ne le prend pas en compte.
ma question est :
Est ce que les filtres associé a la datawindow peuvent avoir une incidence sur les données que l'on désire inséré ?

Hors ligne

 

#2 16-05-2007 09:23:47

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] DW - Insertion d'une ligne

tu fais un insertrow(0) avant le additem?

Hors ligne

 

#3 16-05-2007 09:55:54

ben_ghost  
Membre Geek
Lieu: paris
Date d'inscription: 22-03-2007
Messages: 33
Pépites: 100
Banque: 0

Re: [RESOLU] DW - Insertion d'une ligne

oui voici le code :

Code: pb

result = w_main.dw_list.insertrow(0)

//w_main.dw_list.setredraw(true)
if Debug = true then messagebox("Debug Mode","nombre de ligne inséré : " + string(result))
if result <> 0 then 
  //MaxRefIndex = result
  
  //w_main.initfilter(w_main.dw_list, "refindex = " + string(maxrefindex + 1))
  
  if result = 1 then
    if Debug = true then messagebox("Debug Mode","refindex = " + string(MaxRefIndex))
    result = w_main.dw_list.setitem(maxrefindex,"refindex",(maxrefindex + 1))
    maxrefindex++
    w_main.dw_list.setfilter("refindex = " + string(MaxRefIndex))
    w_main.dw_list.filter()
    changed = true  
  elseif result = -1 then
    messagebox("Création", "Erreur lors de la création du consultant", exclamation!)
    changed = false
  end if
else 
  messagebox("Création", "Erreur lors de la création du consultant", exclamation!)
end if


[edit] http://pbadonf.fr/forum/img/puntoolbar/smooth/bt_pre.png [ code=pb ]

Hors ligne

 

#4 16-05-2007 10:01:53

ben_ghost  
Membre Geek
Lieu: paris
Date d'inscription: 22-03-2007
Messages: 33
Pépites: 100
Banque: 0

Re: [RESOLU] DW - Insertion d'une ligne

Le probléme est qu'a l'affichage je vois apparaitre la ligne que j'avais précédement filtré plus la nouvelle ligne... sachant que la nouvelle ligne n'a pas de donnée dans refindex, deplus j'ai rajouter un champ qui donne le numero de ligne et celui ci n'est pas raffraichit immediatement mais que lorsque je clique sur un champ de la datawindow... C'est assez bizarre.

Hors ligne

 

#5 16-05-2007 10:05:37

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] DW - Insertion d'une ligne

reinitialise ton filtre avant chaque nouveau filtre, il arrive que ca bug..

Hors ligne

 

#6 16-05-2007 10:11:36

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

Re: [RESOLU] DW - Insertion d'une ligne

thezerg a écrit:

reinitialise ton filtre avant chaque nouveau filtre, il arrive que ca bug..

Code: pb

dw.SetFilter( '' )
dw.Filter()
dw.SetFilter( ls_filtre )
dw.Filter()

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

Hors ligne

 

#7 16-05-2007 10:19:51

ben_ghost  
Membre Geek
Lieu: paris
Date d'inscription: 22-03-2007
Messages: 33
Pépites: 100
Banque: 0

Re: [RESOLU] DW - Insertion d'une ligne

Toujours même chose cependant je viens de remarquer que le champ currentrow que j'ai rajouter ne se modifi pas lorsque je passe d'une ligne a une autre ????!!!!!!!

Hors ligne

 

#8 16-05-2007 12:43:53

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] DW - Insertion d'une ligne

Bonjour,

Fais-tu bien un SetRow ou un ScrollToRow après chaque insertion de ligne?
Seules ces instructions mettent à jour le numéro de la ligne courante.

De plus, le long retourné par la fonction InsertRow correspondant au numéro de la ligne insérée, ton test de ta variable result en début de code ne devrait pas être :

Code: pb

if result = 1 then
  //blabla
elseif result = -1 then
    messagebox("Création", "Erreur lors de la création du consultant", exclamation!)
    changed = false
end if

mais plutôt:

Code: pb

if result > 0 then
   //blabla
else
    messagebox("Création", "Erreur lors de la création du consultant", exclamation!)
    changed = false
end if

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

Hors ligne

 

#9 16-05-2007 13:59:30

ben_ghost  
Membre Geek
Lieu: paris
Date d'inscription: 22-03-2007
Messages: 33
Pépites: 100
Banque: 0

Re: [RESOLU] DW - Insertion d'une ligne

Bien jouer. Probléme Résolu Merci Beaucoup. J'arrive à entrer la bonne donnée dans le bon champ par contre mon champ currentrow ne se modifi toujours pas mais cela doit etre un autre probléme... Dans tout les cas merci beaucoup.

Hors ligne

 

#10 16-05-2007 15:07:49

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] DW - Insertion d'une ligne

Bonjour,

tu peux aussi récupérer le currentRow par la fonction GetRow()

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22