|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre expérimenté
![]() Développeur informatique Inscription : mars 2009 Messages : 314 ![]() |
Bonjour,
je crée une classe cUser et une classe cCollectionUser avec un membre tblUser qui est un tableau de cUser je déclare maCollUser est un cCollectionUser je lie une table à maCollUser.tblUser j'affiche bien mes différents objets dans chaque ligne et chaque membre est dans la bonne colonne. super tout va bien... je déclare monUser est un cUser Et voilà la question : j'aimerai implémenter monUser lors de la sélection d'une ligne de cette table. une idée? merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Christophe VibertDéveloppeur informatique Inscription : octobre 2006 Messages : 409 ![]() |
Bonjour,
En auto je ne vois pas mais avec du code cela semble assez simple si tu a un id unique par user: A la sélection de la ligne tu recherche dans ton tableau d'objet user l'id, cela te retourne l'indice dans le tableau et tu n'as plus qu'a affecter ton objet. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 583 ![]() |
Bonjour,
Je viens de faire un test vite fait (avec la version 16, et juste en déclaration): s'il s'agit d'un tableau d'objets dynamiques, la table peux renvoyer l'objet courant. Donc c'est peut-être une piste. Par contre si le tableau est renvoyé via une propriété de la première classe, plus rien ne fonctionne ! Dans les propriétés de la table, je n'ai pas accès au membre/propriétés de la classe à laquelle est lié le tableau... A voir avec un membre publique si ça fonctionne. Tatayo. |
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() Développeur informatique Inscription : mars 2009 Messages : 314 ![]() |
Bonjour,
merci de vos réponses, effectivement avec du code cela va être assez simple mais pour une fois j'aimerai aller vers la solution auto donc je vais tester la solution Tatayo et je vous fais un retour. merci |
|
|
00
|
|
|
#5 | |
|
Membre expérimenté
![]() Inscription : septembre 2010 Messages : 210 ![]() |
Bonjour à tous,
Atsibat, surtout ne le prend pas mal, mais je ne comprends pas la question... Citation:
Je crois que tu emploies ce verbe de façon inappropriée... Pour moi "implémenter" revient au final à "coder des fonctionnalités nécessaires à la réalisation d'un objectif". Donc, pour revenir à ta question... quel est le but ? |
|
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Développeur informatique Inscription : mars 2009 Messages : 314 ![]() |
He oui autant pour moi, je voulais dire allouer.
Effectivement les bons mots au bon endroit ... Bon il semble que les autres lecteurs de ce post aient un traducteur intégré mais tu as raison. Donc j'imagine qu'à chaque ligne de la table correspond une instance de cUser allouée avec les bonne valeurs puisqu'il l'affiche (mais peut être pas) Or cette instance existante devrait pouvoir être allouée dans un objet du même type par passage de référence du genre monUser=table[i] qui ne fonctionne pas évidemment. Donc je reformule la question : j'aimerai allouer une idée? merci |
|
|
00
|
|
|
#7 | ||
|
Membre expérimenté
![]() Inscription : septembre 2010 Messages : 210 ![]() |
Merci pour l'explication.
Citation:
En fait tu veux que l'objet cUser correspondant à la ligne sélectionnée dans le champ table soit: • référencé par la variable monUser, si monUser est une variable objet dynamique, • copié dans la variable monUser, si monUser est une variable objet mais pas dynamique. (en WLangage, une variable objet qui n'est pas dynamique est allouée dès qu'il est déclaré) Citation:
tatayo a donné la solution au début de son message: "la table peut renvoyer l'objet courant" Mais il faut paramétrer le champ Table en conséquence. Dans la fenêtre Description du champ table: Onglet Contenu: • remplissage = <par variable> • Source parcourue = désigner ici la variable de type tableau (on peut désigner un tableau membre d'un objet) • Variable mémorisée = dans la liste, sélectionner <élément courant> A partir de là, le champ table retourne directement une référence sur l'objet ! Par exemple, si la table s'appelle TBL_Users, tu places ce code dans le traitement Sélection d'une ligne de TBL_Users: Et ça fonctionne !
|
||
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Développeur informatique Inscription : mars 2009 Messages : 314 ![]() |
Merci,
résolu donc. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com