Hallo zusammen,
zu einer kleinen Datenbank soll ein Formular zwecks Navigation programmiert werden. U. a. soll dieses eine Suchfunktion (btnSuchen + txtSuchen) enthalten.
Bekomme drei Fehlermeldungen angezeigt:
- Ereignis SelectedIndexChanged wurde nicht gefunden.
- DataSource + DisplayMember keine Member von TextBox.
Kann mir bitte jemand weiterhelfen?
Vielen Dank & viele Grüße
Sarah
Folgend mein Code:
Public Class frmNavigation
Dim dt As New DataTable
Dim bs As New BindingSource
Private Sub Laden(sender As Object, e As EventArgs) _
Handles btnLaden.Click
Dim c As New SqlClient.SqlConnection
c.ConnectionString = "Data Source=(LocalDB\MSSQLLocalDB;" _
& "AttachDbFilename=|DataDirectory|\Datenbank_Buecher.mdf;" _
& "Integrated Security=True;" _
& "Connect Timeout=30;"
c.Open()
Dim da As New SqlClient.SqlDataAdapter
da.SelectCommand = (New SqlClient.SqlCommand("SELECT * FROM Buch", c))
da.Fill(dt)
c.Close()
bs.DataSource = dt
Dim b As Binding
b = New Binding("Text", bs, "Buch_id")
txtBuch_id.DataBindings.Add(b)
b = New Binding("Text", bs, "Verlag_id")
txtVerlag_id.DataBindings.Add(b)
b = New Binding("Text", bs, "Autor_id")
txtAutor_id.DataBindings.Add(b)
b = New Binding("Text", bs, "Titel")
txtTitel.DataBindings.Add(b)
b = New Binding("Text", bs, "Untertitel")
txtUntertitel.DataBindings.Add(b)
End Sub
Private Sub btnGridLaden_Click(sender As Object, e As EventArgs) _
Handles btnGridLaden.Click
dvgBuch.DataSource = bs
With dvgBuch
.Columns("Buch_id").Width = 20
.Columns("Verlag_id").Width = 20
.Columns("Autor_id").Width = 20
.Columns("Titel").Width = 20
.Columns("Unteritel").Width = 20
End With
End Sub
Private Sub Navigation(sender As Object, a As EventArgs) _
Handles btnErster.Click,
btnVorheriger.Click,
btnNaechster.Click,
btnLetzter.Click
Select Case sender.name
Case btnErster.Name
bs.MoveFirst()
Case btnVorheriger.Name
bs.MovePrevious()
Case btnNaechster.Name
bs.MoveNext()
Case btnLetzter.Name
bs.MoveLast()
End Select
End Sub
Private Sub btnSuchen_Click(sender As Object, e As EventArgs) _
Handles btnSuchen.Click
With txtSuchen
.DataSource = dt
.DisplayMember = "Titel"
End With
End Sub
Private Sub txtSuchen_SelectedIndexChanged(sender As Object, e As EventArgs) _
Handles txtSuchen.SelectedIndexChanged
Dim pos As Integer
pos = bs.Find("Name", txtSuchen.Text)
If pos > -1 Then bs.Position = pos
End Sub
End Class
zu einer kleinen Datenbank soll ein Formular zwecks Navigation programmiert werden. U. a. soll dieses eine Suchfunktion (btnSuchen + txtSuchen) enthalten.
Bekomme drei Fehlermeldungen angezeigt:
- Ereignis SelectedIndexChanged wurde nicht gefunden.
- DataSource + DisplayMember keine Member von TextBox.
Kann mir bitte jemand weiterhelfen?
Vielen Dank & viele Grüße
Sarah
Folgend mein Code:
Public Class frmNavigation
Dim dt As New DataTable
Dim bs As New BindingSource
Private Sub Laden(sender As Object, e As EventArgs) _
Handles btnLaden.Click
Dim c As New SqlClient.SqlConnection
c.ConnectionString = "Data Source=(LocalDB\MSSQLLocalDB;" _
& "AttachDbFilename=|DataDirectory|\Datenbank_Buecher.mdf;" _
& "Integrated Security=True;" _
& "Connect Timeout=30;"
c.Open()
Dim da As New SqlClient.SqlDataAdapter
da.SelectCommand = (New SqlClient.SqlCommand("SELECT * FROM Buch", c))
da.Fill(dt)
c.Close()
bs.DataSource = dt
Dim b As Binding
b = New Binding("Text", bs, "Buch_id")
txtBuch_id.DataBindings.Add(b)
b = New Binding("Text", bs, "Verlag_id")
txtVerlag_id.DataBindings.Add(b)
b = New Binding("Text", bs, "Autor_id")
txtAutor_id.DataBindings.Add(b)
b = New Binding("Text", bs, "Titel")
txtTitel.DataBindings.Add(b)
b = New Binding("Text", bs, "Untertitel")
txtUntertitel.DataBindings.Add(b)
End Sub
Private Sub btnGridLaden_Click(sender As Object, e As EventArgs) _
Handles btnGridLaden.Click
dvgBuch.DataSource = bs
With dvgBuch
.Columns("Buch_id").Width = 20
.Columns("Verlag_id").Width = 20
.Columns("Autor_id").Width = 20
.Columns("Titel").Width = 20
.Columns("Unteritel").Width = 20
End With
End Sub
Private Sub Navigation(sender As Object, a As EventArgs) _
Handles btnErster.Click,
btnVorheriger.Click,
btnNaechster.Click,
btnLetzter.Click
Select Case sender.name
Case btnErster.Name
bs.MoveFirst()
Case btnVorheriger.Name
bs.MovePrevious()
Case btnNaechster.Name
bs.MoveNext()
Case btnLetzter.Name
bs.MoveLast()
End Select
End Sub
Private Sub btnSuchen_Click(sender As Object, e As EventArgs) _
Handles btnSuchen.Click
With txtSuchen
.DataSource = dt
.DisplayMember = "Titel"
End With
End Sub
Private Sub txtSuchen_SelectedIndexChanged(sender As Object, e As EventArgs) _
Handles txtSuchen.SelectedIndexChanged
Dim pos As Integer
pos = bs.Find("Name", txtSuchen.Text)
If pos > -1 Then bs.Position = pos
End Sub
End Class