如何在搜索文本框中选择具有特定值/行的数据?

问题描述

这是我的桌子:

EmployeeNo 用户 项目
108 杰夫 鼠标
109 键盘
110 杰夫 监控

这是我在搜索文本框中的代码

saveBtn.setonClickListener {
        val sn = editTextBarcode.text.toString()
        sn.toString()
        if (sn!= "") {
            val returnIntent:Intent = Intent()
            returnIntent.putExtra("return_sn",sn)
            setResult(Activity.RESULT_OK,returnIntent)
            finish()
        } else {
            Toast.makeText(
                applicationContext,"Das ist keine gültige Seriennummer",Toast.LENGTH_SHORT
            ).show()
        }
    }

注意:这是带有文本框的实时搜索数据,这意味着它将在我的数据网格视图中实时过滤。

现在,当我搜索文本框时,我只想选择 Jeff 的所有数据。

我会使用什么命令?我应该在 txtSearchBox 中的查询之后立即添加吗?

解决方法

假设您使用 _dataTable1 来获取您的表,并且您的过滤器名称是 Filter1

你可以这样做:

Private Sub txtSearchbox_TextChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles txtSearchbox.TextChanged

Dim Filter1 As String
Filter1 = "EmployeeNo LIKE '%" & txtSearchbox.Text & "%' OR " & _
          "User LIKE '%" & txtSearchbox.Text & "%' OR " & _
          "Item LIKE '%" & txtSearchbox.Text & "%'"

    ' Sort bonus ;)
    Dim Sort1 As String = " User  ASC"

    _dataTable1.DefaultView.RowFilter = Filter1
    _dataTable1.DefaultView.Sort = Sort1    

    'Bind your DataGridView1 to your _dataTable1
    DataGridView1.DataSource = _dataTable1
End Sub

编辑:

假设您之前将 _dataTable1 声明为 public 并且已经在查询中加载了数据

Public _dataTable1 As New DataTable()

Public Sub New()

' Do you query here
Dim query As string = "Select [EmployeeNo],[User],[Item] "
Using con as oledbconnection = new oledbconnection("datasourceofdatabase")
....
....
If dt1.Rows.Count > 0 Then
                _dataTable1 = dt1
....
....
End Sub

我建议您查看以下内容:VB.NET DataGridView binding - Sql Server 有一个简单的示例,效果很好且易于理解。不仅适用于 DataGridView,还适用于所有 VB.net。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...