问题描述
这是我的桌子:
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。