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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| Partial Class WebUserControl
Inherits System.Web.UI.UserControl
Private tab As TableDeFrais
Private row_collec As RowCollection
Private cell_collec As CollumnCollection
Private row As Row
Private cell As Collumn
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Session("tableauDeNdF") Is Nothing Then
tab = Session("tableauDeNdF")
panelSource.Controls.Add(tab.Render())
End If
End Sub
Protected Sub bt_creerNdF_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bt_creerNdF.Click
If (tab Is Nothing) Then
tab = New TableDeFrais(MonthName(Month(DateTime.Now())), Session("login"))
tab.mesLignes.Add(creerLigneVierge(tab.mesLignes.Count + 1))
'faire un render de tableau dans le PanelSource
panelSource.Controls.Add(tab.Render())
'garde en mémoire le tableau de note de frais en cours
Session("tableauDeNdF") = tab
End If
End Sub
Public Function creerLigneVierge(ByVal i As Integer) As Row
Dim cell_collec As New CollumnCollection()
Dim row_collec As New RowCollection()
Dim Row As New Row()
Dim cell As New Collumn()
'création et ajout de cellule à une collection de cellules
cell_collec.Add(New Collumn(service.creerUnControl("TextBox", "mois" & i, "Juin")))
cell_collec.Add(New Collumn(service.creerUnControl("TextBox", "libelle" & i, "Déplacement à Marseille pour rencontrer client Carrouf")))
cell_collec.Add(New Collumn(service.creerUnControl("DropDownList", "typeFrais" & i, "Hotel/Restaurant")))
cell_collec.Add(New Collumn(service.creerUnControl("TextBox", "distance" & i, "700km")))
cell_collec.Add(New Collumn(service.creerUnControl("TextBox", "tva" & i, "800")))
cell_collec.Add(New Collumn(service.creerUnControl("TextBox", "ht" & i, "570")))
'ajout du bouton pour créer une nouvelle ligne
Dim btn_validerUneLigne As Button = service.creerUnControl("Button", "bt_ligneVierge" & i, "Créer une nouvelle ligne " & i)
btn_validerUneLigne.CommandArgument = i
AddHandler btn_validerUneLigne.Click, AddressOf validerUneLigne_Click
cell_collec.Add(New Collumn(btn_validerUneLigne))
'ajout de la collection de cellules à une ligne
Row.mesColonnes = cell_collec
Return Row
End Function
Public Sub validerUneLigne_Click(ByVal sender As Object, ByVal e As System.EventArgs)
'Récupération du bouton ayant déclenché l'événement
Dim Btn As Button
Btn = CType(sender, Button)
'Traitement
Btn.Text = "ca marche" & Btn.CommandArgument.ToString()
Dim i As Integer
i = CType(Btn.CommandArgument, Integer) + 1
tab.mesLignes.Add(creerLigneVierge(i))
End Sub |
Partager