【问题标题】:VB Dot Net Binding records to a listview base on the first letterVB Dot Net Binding 记录到基于第一个字母的列表视图
【发布时间】:2015-04-11 18:33:17
【问题描述】:

我想通过文本框中的按键选择基于第一个字母的产品列表。

这就是我将记录从数据库加载到列表视图的方式。

试试 cmd.CommandText = ("从 STOCK_DETAILS 中选择 ProductCode") cmd.Connection = net_55 Dim Da 作为新的 OleDbDataAdapter(cmd) 将 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

上面的代码将把该列中的所有记录绑定到列表视图。 但这不是我想要实现的。

例如,SQL 中的 select 语句可以帮助我在后端实现目标。同样的代码在 VB 端不起作用。

从 STOCK_DETAILS 中选择 ProductCode 哪里 ProductCode Like 'H%'

任何帮助将不胜感激。

【问题讨论】:

  • 请提供更多信息。您的问题是您不知道如何将文本框中输入的文本连接到数据源,还是您不知道如何更新数据源以显示更新 sql 语句的结果?

标签: vb.net


【解决方案1】:

如果在 SQL 级别执行过滤器是可以接受的,您可以尝试将 TextBox 的第一个字母传递到 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"

上面的代码可以从 TextBox 中的文本更改事件中调用。

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

【讨论】:

  • 请这是我想要的。例如,我的数据库中有一百种产品。而且我不想选择所有一百种产品来绑定列表视图控件,而是根据用户输入的字母来选择它们。例如,我有以下产品。 1.笔,2.书,3.包,4.风扇,5.手机,6皮带,7衬衫。因此,现在查看表中的可用产品,我想选择以 b 开头的产品,仅将它们绑定到文本框中按键上的 listview 控件。我希望这个解释会有所帮助。感谢 Markus 和 Nathanael 的关心。
  • 拜托 Nathanael,我怎样才能仅通过文本更改事件获得这样的结果。
  • 在我的示例中,您可以将代码放置在将数据绑定到 ListView 的名为 GetData 的过程中,该过程接受字符串参数。然后将从 TextBox 文本更改事件中调用 GetData 过程。
猜你喜欢
  • 1970-01-01
  • 2018-06-06
  • 1970-01-01
  • 2022-01-06
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
  • 2019-06-13
  • 2016-01-21
相关资源
最近更新 更多