|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Ajouter des controls [ WebForms / UserControl ] (elpens)
Informations & options pour cette discussion
|
jeudi 31 août 2006 à 15:53:30 |
Ajouter des controls

elpens
|
Bonjour, j'aimerais ajouter dynamiquement des controls dans un fichier ascx. Voilà comment je procède, mais cela ne m'affiche que le dernier. 'Pour chaque person présenteFor i AsInteger = 0 To person.Length - 1 'Récupere le nom & prenom Dim name() AsString = Split(person(i), " ") 'Procedure stockée qui me retourne le n° d'une personne Dim homeNoCommand AsNew OleDbCommand("AAA_getNumber " & name(0) & ", " & name(1) & ", " & type, Conn) Conn.Open() Dim number AsString = homeNoCommand.ExecuteScalar Conn.Close() 'personPanel est un panel avec 3 control (les 3 en-dessous) Dim myPane As Panel = personPanel 'Affectation des différentes valeurs CType(myPane.FindControl("fNameVal"), Label).Text = name(0) CType(myPane.FindControl("lNameVal"), Label).Text = name(1) CType(myPane.FindControl("phoneNo"), Label).Text = number
'Ajoute le panel dans le plus grand panel phonePanel.Controls.Add(myPane) Next
Mais voilà, comme dit plus haut, seule la dernière personne apparait. Merci d'avance, et bon après-midi  ElpenS 
|
|
|
|
jeudi 31 août 2006 à 22:25:01 |
Re : Ajouter des controls

Nurgle
|
Salut, Le problème dans ton code est qu'en réalité tu crées pas de "personPanel" à chaque iteration, tu crées juste une variable "myPane" qui pointe vers le "persoPanel" d'origine ! Si "personPanel" est un Panel que tu as ajouté à ta page, tu vas plutôt l'enlever et d'abord créer un custom control, qui va hériter de Panel, et qui va lui-même contenir trois labels, et qui lui va s'appeller PersonPanel. Et ensuite tu fais : Dim myPane As New PersonPanel() 'Affectation des différentes valeurs CType(myPane.FindControl("fNameVal"), Label).Text = name(0) CType(myPane.FindControl("lNameVal"), Label).Text = name(1) CType(myPane.FindControl("phoneNo"), Label).Text = numberA++ 
Nurgle (Antoine)
|
|
|
|
vendredi 1 septembre 2006 à 08:46:11 |
Re : Ajouter des controls

elpens
|
Je suis désolé, mais je n'ai pas réussi... J'ai créer un control ascx (personPane) que j'ai registré dans PhonePane comme ceci : <% @RegisterSrc="personPane.ascx"TagName="persoPane"TagPrefix="ucPerson" %>
Ensuite, j'ai fait : Dim myPane As New PersonPanel() 'Affectation des différentes valeurs CType(myPane.FindControl("fNameVal"), Label).Text = name(0) CType(myPane.FindControl("lNameVal"), Label).Text = name(1) CType(myPane.FindControl("phoneNo"), Label).Text = numberMais j'obtient l'erreur : Object reference not set to an instance of an object.
Et si je test myPane.fNameVal = name(0) l'erreur est : myPane.fNameVal is not accessible in this context because it is 'ProtectedMerci pour ton aide  ElpenS 
|
|
|
|
vendredi 1 septembre 2006 à 16:34:11 |
Re : Ajouter des controls

Nurgle
|
Eh bien, utilises des propriétés, dans ton PersonPanel : Public Property FirstName As String Set(value As String) Me.fNameVal.Text = value End Set Get Return Me.fNameVal.Text End Get End Property Et tu fais pareil pour LastName et PhoneNumber, et comme ça tu n'as plus qu'à faire : myPane.FirstName = name(0) myPane.LastName = name(1) myPane.PhoneNumber = number A++ 
Nurgle (Antoine)
|
|
|
|
lundi 4 septembre 2006 à 09:56:57 |
Re : Ajouter des controls

elpens
|
Merci, mais cela ne fonctionne toujours pas  ... J'obtient toujours l'erreur : {"Object reference not set to an instance of an object."} C'est bien la m.....
A+ et merci  ElpenS 
|
|
|
|
lundi 4 septembre 2006 à 18:19:22 |
Re : Ajouter des controls
|
|
mardi 5 septembre 2006 à 08:04:53 |
Re : Ajouter des controls

elpens
|
Hello,
C'est la ligne dans les propriétés de mon personPanel :
Me.fNameVal.Text = value
Merci
ElpenS 
|
|
|
|
mardi 5 septembre 2006 à 11:45:56 |
Re : Ajouter des controls

elpens
|
En fait, quand je debug, il me met l'erreur a la ligne que je t'ai indiqué avant.
Mais quand je regarde la stack (at personPane.get_FirstName()), la ligne indiquée est la suivante : Return Me.fNameVal.Text
Voilà, encore merci pour tout
ElpenS 
|
|
|
|
mardi 5 septembre 2006 à 14:13:21 |
Re : Ajouter des controls

elpens
|
Réponse acceptée !
Ben voilà, après quelques heures, j'ai enfin trouvé un moyen : Dim personCtr AsNew personPane personCtr = CType(LoadControl("personPane.ascx"), personPane) personCtr.FirstName = name(0) personCtr.LastName = name(1) personCtr.phoneNumber = number phonePanel.Controls.Add(personCtr)Et il m'ajoute mes petits panel. Merci encore Nurgle pour ton aide Bon après-midi a tous.  ElpenS 
|
|
|
Cette discussion est classé dans : ajouter, controls, panel, name, mypane
Répondre à ce message
Sujets en rapport avec ce message
Panel se remplissant dynamiquement [ par systemic_anomaly ]
Bonjour tt le monde,J'ai un panel qui au page load est composé sur une ligne horizontale de plusieurs textbox et labels et un bouton "Ajouter" (qui pr
Multiple controls with the same ID [ par systemic_anomaly ]
Bonjour tt le monde,J'utilise un place holder et j'ajoute un control (TableMenu). Pas de problème lors du page load mais au postback j'ai ce message d
Envoi d'une reponse auto via un petit formulaire [ par kclaude ]
Hello,Je viens de passez quasi 24H à ecumer la toile pour trouver une reponse a ma petite question qui me parait infranchissable vue ma petite connais
requete SQL pour ajouter un champ dans une table [ par bakchlada ]
salut tout le monde ,bon voila , j'ai une probleme (normal sinon je ne posterai pas ici) .......... bon bah c'est con de demander ça , mais je debute
Installation du IIS [ par richch ]
Salut,Je désire installer IIS sur mon PC, j’ai cherché dans la rebrique « ajouter ou supprimer des composantes Windows » j’ai ne pas trouvé dans la li
impression d'un panel apartir d'une page aspx [ par swiniya ]
Hello everybody!!je veux imprimer un panel apartir d'une page aspx mais je sais pas comment faire?!!aidez moi svp!!
FindControl - Acceder a mes controls crées dinamiquement [ par edokt ]
Bonjour Encore des problems J'ai une page aspx avec 2 bouton et un placeholder Premier bouton cree un control textbox dans le placeholder avec le
positionner mes controls [ par yohan49 ]
salut les gars , je debute en asp.net C#quand je veux rajouter sur ma page des controls , je n'arrive pas a les positionner au coordonée de mon choixs
Ajouter ligne manuellment dans un datagrid [ par Myke ]
Est-il possible d'ajouter une ligne dans un datagrid sans le lier à une BD par un dataset ou datareader. Myke
ASP.NET : Panel WebForm et table HTML [ par vlaad ]
Bonjour,J'ai un tableau dans lequel je souhaite mettre, dans une de ses cellules, deux WebControls Panel collés l'un à l'autre.Le problème que je renc
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|