vb.net - 如何在搜索文本框中选择具有特定值/行的数据?
问题描述
这是我的桌子:
职工号 | 用户 | 物品 |
---|---|---|
108 | 杰夫 | 鼠 |
109 | 文 | 键盘 |
110 | 杰夫 | 监视器 |
这是我在搜索文本框中的代码:
Dim query As string = "Select [EmployeeNo], [User], [Item]
Where [EmployeeNo] Like '%" & txtSearchbox.Text & "%' Or
[User] Like '%" & txtSearchbox.Text & "%' Or [Item] Like '%"
& txtSearchbox.Text & "%'
Using con as oledbconnection = new oledbconnection("datasourceofdatabase")
Using cmd as oledbcommand = new oledbcommand(query1, con)
Using da as oledbdataadapter = new oledbdataadapter(cmd)
da.SelectCommand = cmd
Using dt1 as new datatable()
da.Fill(dt1)
If dt1.Rows.Count > 0 Then
Datagridview1.Datasource = dt1
Else
MsgBox("No Data Found", vbError)
End If
End Using
End Using
End Using
End Using
注意:这是带有文本框的实时搜索数据,这意味着它将在我的 datagridview 中实时过滤。
现在,当我在文本框上搜索时,我只想选择 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 _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 绑定 - Sql Server 有一个简单的示例,运行良好且易于理解。不仅适用于 DataGridView,而且适用于所有 VB.net。
推荐阅读
- vb.net - 为什么我的 pascals_triangle 数组没有充当二维列表,因此给了我太多参数错误?
- google-analytics - Google Analytics - 如何跟踪内部页面?
- java - 用于线程初始化的同步器是什么?
- python - python 3中cStringIO的等效库是什么?
- excel - 在 Excel VBA 中使用 SAXXMLReader60 解析多个非常大的文件。如何停止解析文档并转到下一个文件?
- powershell - 如何从 powershell 运行 couchbase n1ql-command
- python-3.x - 是否有相当于“hashlib.sha512(out.encode('utf-8')).hexdigest()”的 Dart?
- sql - SQL 查询来计算旅程的数量
- java - 如果有可能我们可以创建具有一定长度的 jwt 身份验证令牌
- html - 如何将 Google Drive 中的视频嵌入 HTML 网站?