Private Sub btnInschrijvingAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInschrijvingAdd.Click
'****************************
'* Voeg Cursus toe aan listbox.
'****************************
' Haal gegevens op
If gcnn.State = ConnectionState.Closed Then gcnn.Open()
Dim cmd As OleDbCommand
Dim strCmd As String = "SELECT fldCursus_ID, fldCursusNaam, fldCursusPrijs FROM tblCursussen " & _
"WHERE fldCursus_ID= " & CStr(dgvBestellingen.CurrentRow.Cells(0).Value)
cmd = New OleDbCommand(strCmd, gcnn)
Dim strNaam As String = ""
Dim decPrijs As Decimal = 0
Dim strCategorie As String = ""
Dim rd As OleDbDataReader
rd = cmd.ExecuteReader(CommandBehavior.CloseConnection)
If rd.HasRows Then
Do While rd.Read
strNaam = rd("fldCursusNaam")
decPrijs = rd("fldCursusPrijs")
Loop
End If
rd.Close()
' Vul listbox
Dim strFmt As String = "{0,-15} {1,2} {2,10}"
Dim strAantal As String = txtInschrijvingAantal.Text
' controleren op dubbels
If fntDubbel(strNaam) Then
Dim strMsg As String = "Deze cursus staat reeds in de lijst." & vbCrLf & _
"Wenst u het aantal aan te passen?"
Dim res = MessageBox.Show(strMsg, "Dubbele waarde", MessageBoxButtons.YesNo)
If res = DialogResult.No Then
Exit Sub
Else
strMsg = "Geef het gewenste aantal in."
strAantal = InputBox(strMsg, "Gewenst aantal", strAantal)
If strAantal <> "" Then
subWijzigItem(strFmt, strNaam, strAantal, decPrijs)
Exit Sub
End If
MessageBox.Show("Gelieve een geldige waarde in te geven!", "Fout", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Else
If (txtInschrijvingAantal.Text <> "") Then
With lstInschrijvingen.Items
.Add(String.Format(strFmt, strNaam, strAantal, ((decPrijs * strAantal))))
End With
Else
MessageBox.Show("Gelieve een aantal in te voeren.", "Fout", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End If
End Sub
Private Function fntDubbel(ByVal strNaam As String) As Boolean
'****************************************
'* Controleert winkelwagentje op dubbels.
'****************************************
For Each itm In lstInschrijvingen.Items
If CStr(itm).Contains(strNaam) Then
' dubbel
Return True
lstInschrijvingen.SelectedIndex = lstInschrijvingen.FindString(strNaam)
End If
Next
Return False
End Function
Private Sub subWijzigItem(ByVal strFmt As String, ByVal strNaam As String, ByVal strAantal As String, ByVal strPrijs As String)
'*********************
'*
'*********************
subVerwijderCursus()
With lstInschrijvingen.Items
.Add(String.Format(strFmt, strNaam, strAantal, (strPrijs * strAantal)))
End With
End Sub
Private Sub btnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInschrijvingDelete.Click
'*****************************
'* Verwijder boek uit listbox.
'*****************************
subVerwijderCursus()
End Sub
Private Sub subVerwijderCursus()
'*********************
'*
'*********************
Try
lstInschrijvingen.Items.Remove(lstInschrijvingen.SelectedItem)
Dim i As Integer = 0
With lstInschrijvingen
i = .SelectedIndex
.Items.RemoveAt(i)
End With
Catch
End Try
End Sub