VB.Net基于第一个字母将记录绑定到listview
请我想在文本框中按第一个字母选择产品列表 这就是我从数据库将记录加载到listview的方式 试一试 cmd.CommandText=(“从库存详细信息中选择产品代码”) cmd.Connection=net_55 Dim Da作为新的OLEDB数据适配器(cmd) Dim Ds作为新数据集VB.Net基于第一个字母将记录绑定到listview,vb.net,Vb.net,请我想在文本框中按第一个字母选择产品列表 这就是我从数据库将记录加载到listview的方式 试一试 cmd.CommandText=(“从库存详细信息中选择产品代码”) cmd.Connection=net_55 Dim Da作为新的OLEDB数据适配器(cmd) Dim Ds作为新数据集 Da.Fill(Ds, "STOCK_DETAILS") Dim Bs As New BindingSource Bs.DataSource = Ds
Da.Fill(Ds, "STOCK_DETAILS")
Dim Bs As New BindingSource
Bs.DataSource = Ds
Bs.DataMember = "STOCK_DETAILS"
With ProductListView
For i As Integer = 0 To Bs.Count - 1
Dim lst As New ListViewItem
With lst
.Text = Bs.Current("ProductCode").ToString
'.SubItems.Add(Bs.Current("CompanyName").ToString)
End With
.Items.Add(lst)
Bs.MoveNext()
Next
End With
上面的代码将该列中的所有记录绑定到listview。
但这不是我想要实现的
例如,SQL中的select语句帮助我在后端实现目标。同样的代码在VB端不起作用
从库存详细信息中选择ProductCode
其中ProductCode如“H%”
任何帮助都将不胜感激。如果可以在SQL级别执行筛选,您可以尝试将文本框的第一个字母传递到SQL字符串中。大概是这样的:
Dim commandText As String = String.Format("SELECT ProductCode FROM STOCK_DETAILS WHERE ProductCode LIKE '{0}%'", textBoxValue)
cmd.CommandText = (commandText)
cmd.Connection = net_55
Dim Da As New OleDbDataAdapter(cmd)
Dim Ds As New DataSet
Da.Fill(Ds, "STOCK_DETAILS")
Dim Bs As New BindingSource
Bs.DataSource = Ds
Bs.DataMember = "STOCK_DETAILS"
可以从文本框中的文本更改事件调用上述代码
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text.Length > 0 Then
Call GetData(TextBox1.Text.Substring(0, 1))
End If
End Sub
请提供更多的信息。是您的问题,您不知道如何将文本框中输入的文本连接到数据源,还是您不知道如何更新数据源以显示更新sql语句的结果?这就是我想要的。例如,我的数据库中有100个产品。我不想选择所有要绑定listview控件的产品,而是根据用户键入的字母来选择它们。1.钢笔,2.书,3.包,4.扇子,5.电话,6.皮带,7.衬衫。现在来看一下表中的可用产品,我想选择以b开头的产品,只将它们绑定到文本框中按键上的listview控件。我希望这个解释会有所帮助。感谢Markus和Nathanel的关注。Nathanel,我如何才能仅通过文本更改事件获得这样的结果。在我的示例中,您将代码放在名为GetData的过程中,该过程接受字符串参数,将数据绑定到ListView。然后将从TextBox text changed事件调用GetData过程。