Vb.net 文本框列表中的文本类型显示在datagridview中
我需要代码来使用文本框按productname数据库筛选Northwind数据库中的product表,并在关联的DatagridView控件中显示匹配的productname、unitprice和stock字段。当用户在文本框中键入时,网格应在每次更改后更新 到目前为止,我有:Vb.net 文本框列表中的文本类型显示在datagridview中,vb.net,Vb.net,我需要代码来使用文本框按productname数据库筛选Northwind数据库中的product表,并在关联的DatagridView控件中显示匹配的productname、unitprice和stock字段。当用户在文本框中键入时,网格应在每次更改后更新 到目前为止,我有: Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged DataGridV
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
DataGridView1.Rows.Clear()
Dim sql1 As String = "SELECT ProductName ,Stock,unitprice from PRODUCT"
Dim dadosretornados As System.Data.DataTableReader = buscadadosacess(sql1)
While dadosretornados.Read
If InStr(dadosretornados("Productname"), TextBox1.Text, CompareMethod.Text) <> 0 Then
DataGridView1.Rows.Add(dadosretornados("productname"), dadosretornados("stock"),dadosretornados("unitprice")
End If
End While
oConn.Close()
End Sub
显示列表时,用户可以使用箭头键选择产品,然后按Enter键将完整的产品名称放入文本框中
我们需要看到更多的VB.Net代码,你已经为了帮助你。到目前为止你试过什么?首先,总共有多少张唱片?如果总数不太大,则建议提前检索所有数据并进行本地筛选。缺点包括初始加载速度慢以及检索不需要的数据的可能性。好处包括更快的过滤和避免多次检索相同的数据。无论您是在本地还是通过SQL进行过滤,您都不应该在文本更改时立即进行过滤。您应该在文本更改时启动/重新启动计时器,然后在计时器滴答作响时进行过滤。这样,如果用户想要输入多个字符,您就赢了;不要不必要地多次过滤。如果使用SQL,这一点更为重要,但如果在本地进行过滤,则可能会提高性能。根据预期的打字速度,可以使用300-500之间的间隔。
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
DataGridView1.Rows.Clear()
Dim sql1 As String = "SELECT ProductName ,Stock,unitprice from PRODUCT"
Dim dadosretornados As System.Data.DataTableReader = buscadadosacess(sql1)
While dadosretornados.Read
If InStr(dadosretornados("Productname"), TextBox1.Text, CompareMethod.Text) <> 0 Then
DataGridView1.Rows.Add(dadosretornados("productname"), dadosretornados("stock"),dadosretornados("unitprice")
End If
End While
oConn.Close()
End Sub