[urgent!] Petit problème de génération de contrôles
Bonjour!
Voici mon problème :
je voudrais générer un tableau HTML avec 5 colonnes. Le truc c'est que les deux premières colonnes sont des colonnes de boutons, la troisième colonne est le résultat d'une requête, la quatrième le résultat d'une autre requête et la cinquième de même. Pour l'instant je ne fais que les 3 premières colonnes.
Il me faudrait donc générer dynamiquement les boutons, car le nombre de lignes dépend du nombre de résultats des requêtes.
J'ai essayé un Controls.Add(UnBoutonCrééPlusTôt), mais une exception est lancée avec un message indiquant qu'un bouton doit se trouver dans un form avec runat="server", donc je ne sais pas où il me le génère...
Voici un bout du code pour mieux appréhender "la chose" :
Dans le code-behind :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
Function TabClasses()
If Not IsPostBack Then
'Dim Retour As String
Dim bouton As New Button()
Dim Code As String = "<table border><tr><td></td><td></td><td></td><td>Nom de la classe</td></tr>"
Dim Cnx As SqlConnection
Dim reader As SqlDataReader
Dim i As Integer = 1
Cnx = New BdD().SeConnecter
Dim command As SqlCommand = New SqlCommand(MaRequete, Cnx)
'Paramètres
reader = command.ExecuteReader()
While reader.Read()
Code += "<tr><td style='width:0px'><input type='hidden' id='hide" & reader.GetInt32(0) & "' value='" & reader.GetInt32(0) & "'/></td><td>"
bouton.ID = "BtnSuppr" & reader.GetInt32(0)
bouton.Text = "Supprimer"
Controls.AddAt(i, bouton)
AddHandler bouton.Click, AddressOf Me.BtnDynaclick
Code += "</td><td>"
bouton.ID = "BtnModif" & reader.GetInt32(0)
bouton.Text = "Modifier"
Controls.AddAt(i, bouton)
AddHandler bouton.Click, AddressOf Me.BtnDynaclick
Code += "</td><td>" & reader.GetString(1) & "</td></tr>"
i += 1
End While
Code += "</table>"
'Fermeture reader
If Not IsNothing(reader) Then reader.Close()
'Fermeture connection
If Not IsNothing(Cnx) Then Cnx.Close()
Return Code
End If
End Function |
Dans la page aspx :
Code:
1 2 3 4 5 6 7 8
|
<div class="contenu3">
<asp:Panel ID="PanelDg" runat="server" HorizontalAlign="Center" Width="560px">
<%=TabClasses()%>
<br />
<asp:Button ID="BtnCreate" runat="server" Height="23px" Text="Créer une classe" Width="110px" /></asp:Panel>
etc... |
Je remercie d'avance celui/ceux qui m'apportera/ront la réponse!