Je suis en trein de faire un programme de réservations de spactacles en vb.net 2003.
dans un datagrid, j'ai la liste des sièges réservés pour une représentation.
À l'écran, j'ai la liste des sièges pour cette représentation sous forme de Labels.
Ce qui me donne 60 contrôles sur ma forme(Label).
Au chargement de la fenêtre, mon programme regarde doit le datagrid et doit désactiver les sièges corespondant.
Étant donnée que mes sieges on leur numéro comme text, je peux vérifier
s'il sagit du bon siège grâce à cette propriété. Le code:
Private Sub SelectionnerHeureSalle2()
Dim daTable As New OleDb.OleDbDataAdapter
Dim dtTable As New DataTable
Dim requete As String
requete = " " & _
"Select res.nosiege " & _
"FROM reservation res, " & _
"representation rep, " & _
"spectacle spe " & _
"WHERE res.norep = rep.norep " & _
"AND spe.nospec=rep.nospec " & _
"AND spe.nomspec = '" & cmbRepresentation.Text & "' " & _
"AND rep.daterep = #" & dtpDateTime.Text & "# " & _
"AND rep.heuredebutrep = '" & cmbSelectionHeure2.Text & "' "
Try
cmbSelectionHeure1.Text = Nothing
grpSalle1.Visible = False
OuvrirDB()
dtTable.Clear()
daTable.SelectCommand = New OleDb.OleDbCommand(requete, Connexion)
daTable.Fill(dtTable)
Dim x As Integer
Dim NombreLigne As Integer = dtTable.Rows.Count - 1
If NombreLigne <> -1 Then
Dim control As New Control
RendreSiegeDisponible(2)
For x = 0 To NombreLigne
For Each control In Me.grpSalle2.Controls
If TypeOf (control) Is Label Then
If control.Text = String.Concat(dtTable.Rows(x).Item(0)) Then
control.Enabled = False
End If
End If
Next control
Next
FermerDB()
End If
grpSalle2.Visible = True
Catch Er As Exception
MsgBox(Er.Message())
End Try
End Sub
Private Sub RendreSiegeDisponible(ByVal Salle As Integer)
Dim control As New Control
Dim x As Integer
If Salle = 1 Then
For x = 0 To 60
For Each control In Me.grpSalle1.Controls
If TypeOf (control) Is Label Then
control.Enabled = True
End If
Next control
Next
End If
If Salle = 1 Then
For x = 0 To 60
For Each control In Me.grpSalle2.Controls
If TypeOf (control) Is Label Then
control.Enabled = True
End If
Next control
Next
End If
End Sub
Comme vous pouvez le voir, ces dégueulasse!!!
En vb6, tout ce code aurait été bien plus simple:
For x = 0 To NombreLigne
MonLabel(dtTable.Rows(x).Item(0)).enabled = false
next x
Malheureusement, je n'arrive pas à "Guérir" mon code.
Merci d'avance pour votre aide. =:0)
Afficher la suite