Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1315 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  création dynamique d'événements [solution]

 

Sujet(s) à lire :
 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

création dynamique d'événements [solution]

n°338636
genesis
Posté le 20-03-2003 à 15:56:49  profilanswer
 

bonjour,
 
je bosse sur une appli web (vb/asp.net). dans une webForm j'ai un placeholder dans lequel je place un tableau dont on ajoute des ligne en réaction à un événement (clic sur bouton). dans chaque cellule de ce tableau est créé un bouton.
 
ca donne a peu près ça (attention code pas bô  :whistle:  )
 

Code :
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         compteur = hidden
  3.                
  4.         Dim i As Integer
  5.         Dim numrows As Integer = compteur
  6.         Dim numcells As Integer = 1
  7.         Dim j As Integer
  8.         For j = 0 To numrows
  9.             Dim r As New HtmlTableRow()
  10.             For i = 0 To numcells
  11.                 Label1.Text = CType(compteur, String)
  12.                 Dim c As New HtmlTableCell()
  13.                 c.Controls.Add(New LiteralControl("<input type='submit' value='Button " & j & "-" & i & "' id=' Button " & j & "-" & i & "' runat='server'/>" ))
  14.                 r.Cells.Add(c)
  15.             Next i
  16.             Tableau.Rows.Add(r)
  17.             PlaceHolder1.Controls.Add(Tableau)
  18.         Next j
  19.         hidden += 1
  20.     End Sub


 
 
j'aimerai pouvoir recupérer la valeur d'un bouton lors d'un clic.
j'ai plusieurs pistes :
   du JIT, mais ca passe par du COM+ et c'est pas vraiment la politique de la maison...
   faire un gros literal avec du jscript dedans ( :cry: )
   créer dynamiquement un événement pour chaque bouton (le rêve...)
 
voilà, si kkun a une idée ou a déjà eu le même problème.


Message édité par genesis le 21-03-2003 à 11:55:26
mood
Publicité
Posté le 20-03-2003 à 15:56:49  profilanswer
 

n°338776
nraynaud
lol
Posté le 20-03-2003 à 17:20:18  profilanswer
 

genesis a écrit :

bonjour,
 
je bosse sur une appli web (vb/asp.net).


 
Alors précise dans ton sujet car par défaut c'est marqué C#
En plus il y a une section ASP et une section VB.

n°338802
genesis
Posté le 20-03-2003 à 17:40:17  profilanswer
 

nraynaud a écrit :


 
Alors précise dans ton sujet car par défaut c'est marqué C#
En plus il y a une section ASP et une section VB.


 
je suis dans la section .net non ?
dans la section asp il n'y a pas d'asp.net
la section vb s'arrete a vb6
 
et si tu me trouves la solution en c# je n'y voit aucun inconvenient  :D  
 
"tout ca pour dire qu'il y a de belles ballades à faire dans le coin"   :)

n°338833
nraynaud
lol
Posté le 20-03-2003 à 18:05:47  profilanswer
 

genesis a écrit :


 
je suis dans la section .net non ?
dans la section asp il n'y a pas d'asp.net
la section vb s'arrete a vb6
 
et si tu me trouves la solution en c# je n'y voit aucun inconvenient  :D  
 
"tout ca pour dire qu'il y a de belles ballades à faire dans le coin"   :)  


 
 
Je vois pas du tout où est le pb, qu'est-ce qui t'empêche d'associer un objet différent à chaque bouton créé ? Mais l'ASP ne m'intéresse pas, et le bout de code que je viens de voir est loin de me séduire (c'est quoi ce bordel où y'a un mélange HTML/VB ?).

n°338857
genesis
Posté le 20-03-2003 à 18:26:42  profilanswer
 

nraynaud a écrit :


 
 
Je vois pas du tout où est le pb, qu'est-ce qui t'empêche d'associer un objet différent à chaque bouton créé ? Mais l'ASP ne m'intéresse pas, et le bout de code que je viens de voir est loin de me séduire (c'est quoi ce bordel où y'a un mélange HTML/VB ?).
 


 
'cuse pour le bordel mais c'est le resultat de diverses tentatives (et j'ai pas fait tout le menage avant de poster)
 
le probleme ce pose a plusieurs niveau :
 
 dans ce "pseudo-code" j'utilise un literalcontrol pour creer un bouton coté client et non pas coté serveur. donc j'obtiens ce que je veux c'est a dire un bouton créé dynamiquement fonction des réactions du client.et ce au sein d'une cellule de tableau elle aussi créé à la volée. le tout dans un control serveur Web (placeholder).
donc j'ai bien un bouton mais du coté client et ne peut y associé un événement via par exemple un :
 
AddHandler bouton.Click, AddressOf Methode_associé
 
A l'inverse si je remplace le literalControl par :
 
c.control.add(bouton)
je pourrai a la rigueur associé un evenement (c'est gagné non plus, je suis un boulet). mais la création d'un nouveau bouton ecrase la précedente et je me retrouve avec 'n' ligne et 'n' cellule et un seul bouton a la position 'n'.
 
je suis donc tout ouïe. histoire que j'aille me pendre devant ma bétise  :(  
 
 
 
 

n°338912
HappyHarry
Posté le 20-03-2003 à 19:51:51  profilanswer
 

genesis a écrit :


 
'cuse pour le bordel mais c'est le resultat de diverses tentatives (et j'ai pas fait tout le menage avant de poster)
 
le probleme ce pose a plusieurs niveau :
 
 dans ce "pseudo-code" j'utilise un literalcontrol pour creer un bouton coté client et non pas coté serveur. donc j'obtiens ce que je veux c'est a dire un bouton créé dynamiquement fonction des réactions du client.et ce au sein d'une cellule de tableau elle aussi créé à la volée. le tout dans un control serveur Web (placeholder).
donc j'ai bien un bouton mais du coté client et ne peut y associé un événement via par exemple un :
 
AddHandler bouton.Click, AddressOf Methode_associé
 
A l'inverse si je remplace le literalControl par :
 
c.control.add(bouton)
je pourrai a la rigueur associé un evenement (c'est gagné non plus, je suis un boulet). mais la création d'un nouveau bouton ecrase la précedente et je me retrouve avec 'n' ligne et 'n' cellule et un seul bouton a la position 'n'.
 
je suis donc tout ouïe. histoire que j'aille me pendre devant ma bétise  :(  
 
 
 
 
 


 
oui tu es un boulet [:spamafote]
 
c sur que si tu mets le meme bouton dans toutes les cellules ca marchera pas :sarcastic:

n°338916
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-03-2003 à 19:53:58  profilanswer
 

genesis a écrit :


dans la section asp il n'y a pas d'asp.net
la section vb s'arrete a vb6


 
ouais mais bon ASP et ASP.NET on s'est dit qu'y avait pas besoin de préciser :o
Et pour VB, y a juste marqué VB, donc en quoi ça s'arrête à la 6 :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°339420
genesis
Posté le 21-03-2003 à 09:51:38  profilanswer
 

antp a écrit :


 
ouais mais bon ASP et ASP.NET on s'est dit qu'y avait pas besoin de préciser :o
Et pour VB, y a juste marqué VB, donc en quoi ça s'arrête à la 6 :??:


 
je dis pas pas que la section vb doit s'arréter a la version 6. (de fait c'est le cas). mais dans ce cas pourquoi mettre une section ".NET,c#". dans ce cas "c#" suffit ...

n°339422
genesis
Posté le 21-03-2003 à 09:54:13  profilanswer
 

HappyHarry a écrit :


 
oui tu es un boulet [:spamafote]
 
c sur que si tu mets le meme bouton dans toutes les cellules ca marchera pas :sarcastic:


 
j'aurais du relire ce que j'ai ecris -> donc le paragraphe que tu quotes induisait la question suivante : comment créer un bouton différent a chaque fois ?
 
mais merci de ton aide

n°339449
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-03-2003 à 10:19:34  profilanswer
 

genesis a écrit :

mais dans ce cas pourquoi mettre une section ".NET,c#". dans ce cas "c#" suffit ...


 
j'en sais rien moi, y en a qui voulaient cette section, on l'a rajoutée, on peut la virer aussi :D Y a jamais eu de topics sur C# d'ailleurs...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 21-03-2003 à 10:19:34  profilanswer
 

n°339455
genesis
Posté le 21-03-2003 à 10:22:49  profilanswer
 

antp a écrit :


 
j'en sais rien moi, y en a qui voulaient cette section, on l'a rajoutée, on peut la virer aussi :D Y a jamais eu de topics sur C# d'ailleurs...


 
moi je l'aime bien cettes section  :sweat:  
y a jamais personne dessus, on se sent comme a la campagne, loin des grandes villes polluées de Java  :whistle:

n°339542
genesis
Posté le 21-03-2003 à 11:58:39  profilanswer
 

voilà la solution
 

Code :
  1. Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         compteur = hidden
  3.         Dim i As Integer
  4.         Dim numrows As Integer = compteur
  5.         Dim numcells As Integer = 1
  6.         Dim j As Integer
  7.         For j = 0 To numrows
  8.             For i = 0 To numcells
  9.                 Label1.Text = CType(compteur, String)
  10.                 Dim objBouton As New WebControls.Button()
  11.                 objBouton.ID = "bouton " + CType(j, String) + CType(i, String)
  12.                 objBouton.Text = objBouton.ID
  13.                 AddHandler objBouton.Click, AddressOf Button_Click
  14.                 PlaceHolder1.Controls.Add(objBouton)
  15.             Next i
  16.             Dim spacer As LiteralControl = New LiteralControl("<br>" )
  17.             PlaceHolder1.Controls.Add(spacer)
  18.         Next j
  19.     End Sub
  20.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  21.         hidden += 1
  22.     End Sub
  23.     Sub Button_Click(ByVal s As Object, ByVal e As EventArgs)
  24.         Response.Write("Click!" )
  25.     End Sub


 
en fait la liaison entre le nouveau bouton et l'événement se fait au page load (couillon que je suis  :pt1cable:  )
 
mon bouton "ajout" ne sert qu'a incrementer mon compteur.
 
je sais c'est pas propre  :na:  mais ca peut toujours servir à quelqu'un.

n°342215
Egut
Posté le 25-03-2003 à 09:03:33  profilanswer
 

Affectivement, ca sert à quelqu'un... moi en l'occurence. Merci ! C'est génial, meme plus besoin de poser les questions :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  création dynamique d'événements [solution]

 

Sujets relatifs
arborescence dynamique[.bat] Création d'un point .bat pour automatiser tache ftp
Tableau dynamique à deux entrées avec vectorTraitement des données d'un formulaire et création d'une page html
Création de fenêtre MFC...tableau à 2 dimension dynamique de CString
[VB] Création d'ActiveX en VB6.Probleme pour creer une librairie dynamique (.so) avec gcc
[RESOLU] [Access] Création d'un formulaire de consultationAide pour la création d'un script[Règlé]
Plus de sujets relatifs à : création dynamique d'événements [solution]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR