[VB.NET] remplir un form a partir d'une classe [need HELP inside]

cs_nanus Messages postés 22 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 11 octobre 2004 - 6 mai 2004 à 10:49
cs_nanus Messages postés 22 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 11 octobre 2004 - 6 mai 2004 à 16:51
Je me doute que ça doit pas etre tres clair comme soucis.

Je détaille :

J'ai un form qui contient un ListView, avec des renseignements sur des gens. Jusque là rien de tres inquiétant.
Je voudrais qu'en double-cliquant sur une ligne, un form apparaisse pour effectuer des modifications.

Si j'ouvre le nouveau form à partir du double-clique je perds la valeur de l'objet du ListView et ma requete est donc inutile.
Si j'ouvre le nouveau form à partir d'une classe, je ne peux pas remplir les composants avec le résultat de ma requête, et pour cause, la classe ne trouve pas les composants.

So, what should i do ?
A voir également:

6 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
6 mai 2004 à 14:20
labout
Si j'ai bien tout compris
Stockes la valeur de ton listView dans une variable déclarée publique dans un module tu charge cette variable avant l'appel de la form puis tu récupère cette variable dans la form appellée.
@+
0
cs_nanus Messages postés 22 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 11 octobre 2004
6 mai 2004 à 15:07
Hark, désolé, mais ca marche pas....

La variable est réinitialisée à sa valeur de départ (autrement dit "rien") quand je l'appelle. Mais ptete que je m'y prends mal. Ce que tu m'as dit m'a inspiré ça :

Public Class Mod_Connexion
Dim TotoRaoul As String

Sub RecupToto(ByRef TxtSelect As String)
TotoRaoul = TxtSelect
End Sub

Sub AffichToto()
Dim Txt As String
Txt = "Select * from schtroumpfs where Code=" & TotoRaoul
MsgBox(Txt)
End Sub

End Class

TxtSelect est envoyé par le ListView et contient la clé primaire permettant d'identifier la personne.
AffichToto est appelée lors de l'ouverture du nouveau formulaire pour effectuer les modifications.
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
6 mai 2004 à 15:27
labout

Tu m'étonne beaucoup car je fais cela et cela marche.

Si ta variable est déclarée public dans le module d'initialisation et que tu la charges lors du double clic
elle ne peut perdre son contenu.

Je ne suis pas débutant en VB.NET donc je peux t'assurer que cela marche
0
cs_nanus Messages postés 22 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 11 octobre 2004
6 mai 2004 à 15:40
et pourtant.... donc je suis très embété

Tu as regardé le code ? Il te semble correct ?
J'ai rajouté Public a la variable TotoRaoul pour faire plus joli, mais toujours le même résultat.

Je comprends pas où est l'erreur...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_nanus Messages postés 22 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 11 octobre 2004
6 mai 2004 à 16:33
Je pense savoir ou est l'erreur, mais pas comment la résoudre...

Quand je crée un Form, pour pouvoir accéder à mes procédures, il faut créer un nouvel objet. Condition malheureusement obligatoire.

Car je crée mon Form avec le ListView (pouf ! création d'un objet de la classe). le ListView appel un nouveau formulaire (et re-pouf creation d'un nouvel objet de classe)

Comment faire pour dire au nouveau formulaire d'utiliser la classe créée précédemment plutot qu'une nouvelle ?
0
cs_nanus Messages postés 22 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 11 octobre 2004
6 mai 2004 à 16:51
Merci d'avoir passé du temps sur ma question.

J'ai trouvé !
J'ai mis le temps ! :big)

En fait j'utilisais des classes et donc a chaque fois qu'on veut utiliser une classe, il faut l'initialiser, impossible d'appeler une classe déjà existante pour en choper le contenu.

Donc on remplace la classe par un module, et ca rschtroupf tout seul

:clown)
0
Rejoignez-nous