Ajout de controls

cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007 - 22 sept. 2006 à 16:40
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007 - 25 sept. 2006 à 09:52
Bonjour,


Voilà quelques temps que j'ai ce problème, et je n'arrive pas à la resoudre...
J'aimerais ajouter plusieurs control ascx dans un autre control ascx, que je veux ensuite insérer comme Step dans un wizard

Je procède de la manière suivante :

'Pour chaque person
For i As Integer = 0 To person.Length - 1

   Dim personCtr As New personPane  'cree un nouveau PersonPanel
   personCtr = CType(LoadControl("personPane.ascx"), personPane)  'Load le control personPane
   ...
   phonePanel.Controls.Add(personCtr)  'Ajoute chaque personPanel dans le control PhonePane
 
Ensuite, je fait dans mon wizard :

Dim
phoneStep
As
New WizardStep  

phoneStep.StepType = WizardStepType.Step 'set the Step Type

phoneCtr =
CType(LoadControl(
"phonePane.ascx"), phonePane)  'Load the control "Phone"
phoneCtr.insertNumber(contact, "mobile"
)  'Insert Number
phoneStep.Controls.Add(phoneCtr) 'Add the control into the step


J'ai mis des borders à mes controls, malheureusement, je n'ai pas d'endroit ou stocker mes des printscreens. Je vais donc essayer de vous décrire tout ca.

Tout d'abord, si je fait : Wizard.Controls.add(phonePanel)

Il m'affiche dans mon wizard (avec 2 personnes) :
- le phonePanel vide
- un premier personPanel sans cadre
- un deuxième personPanel, mais avec la bordure.
________________________________________
                        |       _____________________
                        |      |                                          |
                        |      |          phonePanel              |
                        |      |_____________________|
                        |      
                        |      fName : xxx                                             1er PersonPanel
                        |      lName : xxx
                        |       _____________________
                        |      |    ... remplis                       |                     2ème PersonPanel
                        |      |_____________________|
_________________________________________

et, si je fait : Me.Controls.add(phonePanel)    // Me = Dans ma page

Mes panels s'affichent de manière correcte...
--> 2 personPane avec border, dans le phonePanel avec border

Voilà, j'espère réellement que quelqu'un puisse m'aider.
Merci d'avance pour toute aide, et un excellent week-end a tous!

 ElpenS

4 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 sept. 2006 à 23:40
J'ai rien compris, c'est quoi le problème ?

<hr />Cyril - MVS - MCP
0
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007
25 sept. 2006 à 07:55
Salut,

Normallement, je devrais avoir dans mon wizard un phonePanel, avec à l'intérieur, mes personPanel. Or, mon wizardStep contient bien le phonePanel, mais les personPanel ne sont pas intégrés dans le phonePanel...

Est-ce assez clair?

Merci d'avance

 ElpenS
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 sept. 2006 à 09:11
si j'ai bien compris tu devrais faire comme ca : 

 
Dim
phoneStep
As
New WizardStep  

phoneStep.StepType = WizardStepType.Step 'set the Step Type

phoneCtr =
CType(LoadControl(
"phonePane.ascx"), phonePane)  'Load the control "Phone"
phoneCtr.insertNumber(contact, "mobile"
)  'Insert Number
phoneStep.Controls.Add(phoneCtr) 'Add the control into the step

'Pour chaque person
For i As Integer = 0 To person.Length - 1

   Dim personCtr As New personPane  'cree un nouveau PersonPanel
   personCtr = CType(LoadControl("personPane.ascx"), personPane)  'Load le control personPane
   ...
   phoneCtr .Controls.Add(personCtr)  'Ajoute chaque personPanel dans le control PhonePane

Il faut rajouter les controles aprés la création de phoneCtr sinon ca ne marchera pas

<hr />Cyril - MVS - MCP
0
cs_elpens Messages postés 260 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 3 novembre 2007
25 sept. 2006 à 09:52
Excuse, j'ai pas été assez clair:

En fait, la commande  phoneCtr.insertNumber(contact, "mobile") va utiliser le bout de code

For i As Integer = 0 To person.Length - 1
   Dim personCtr As New personPane  'cree un nouveau PersonPanel
   personCtr = CType(LoadControl("personPane.ascx"), personPane)  'Load le control personPane
   ...
   phoneCtr .Controls.Add(personCtr)
.

Le plus bizarre dans cette histoire, est que si je fais :

Me.Controls.add(phonePanel) à la place de Wizard.Controls.add(phonePanel)
Mon control s'affiche de manière correct dans la page. C'est à dire un panel, avec les n° de mes contacts dedans...

Merci pour ton aide

 ElpenS
0
Rejoignez-nous