Я путаюсь в наборе данных и представлении данных, которые я либо использую для обновления данных, либо для просмотра данных для фильтрации данных, но не могу иметь оба вместе одновременно.
Private Sub searchStaff_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ds = New DataSet
dv = New DataView
Dim ad As New SqlDataAdapter("SELECT * FROM staff", connection)
ad.Fill(ds, "staff")
dv.Table = ds.Tables("staff")
Me.DataGridView1.DataSource = dv
End Sub
Private Sub txtSearch_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged
Try
dv.RowFilter = "StaffName like '" & txtSearch.Text & "*'"
Catch ex As Exception
End Try
End Sub
это код фильтрации данных в представлении данных, который отлично работает для меня. но позже мне нужно реализовать другую функцию обновления данных в datagridview, то, что я нашел в Интернете, требует, чтобы я использовал набор данных в качестве источника данных, а не представление данных.
Private Sub searchStaff_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
connection = New SqlConnection(connectionString)
ds = New DataSet
cmd = New SqlCommand("SELECT * FROM staff", connection)
adp=New SqlDataAdapter(cmd)
adp.Fill(ds, "staff")
Me.DataGridView1.DataSource = ds
Me.DataGridView1.DataMember = "staff"
End Sub
Private Sub btnUpdate_ClickEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.ClickEvent
Dim cmdbuilder As New SqlCommandBuilder(adp)
Dim i As Integer
Try
i = adp.Update(ds, "staff")
MsgBox("Record updated= " & i)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
поэтому я надеюсь, что кто-то может показать мне, как я могу одновременно использовать обе функции «обновление, фильтрация», используя какой источник данных?