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 :
Dans la page aspx :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Je remercie d'avance celui/ceux qui m'apportera/ront la réponse!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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...
Partager