VB.net 中的 Textchanged 不在我的 gridview 中显示结果
Posted
技术标签:
【中文标题】VB.net 中的 Textchanged 不在我的 gridview 中显示结果【英文标题】:Textchanged in VB.net does not display results in my gridview 【发布时间】:2014-11-20 03:46:17 【问题描述】:我正在使用此代码,但我的 gridview 中总是没有显示,起初它加载,它显示了我拥有的所有记录,但是当我使用 textchange 属性时,我总是没有得到我想要的列表
这是我的第一个数据加载代码,它运行良好
Public Sub LoadDataPI()
mycom.Connection = cn
mycom.CommandText = <SQL>SELECT CDate as 'Date', AName as 'Applicant', DPosition as 'Position', Address, Gender, Telephone, Cellphone, Email, Bdate as 'Birthdate', CStatus as 'Civil Status', Height, Weight, Religion, Spouse FROM tbl_applicant </SQL>
Dim myadap As New mysqlDataAdapter(mycom)
Dim mydt As New DataTable
myadap.Fill(mydt)
grdApplicantsPI.DataSource = mydt
myadap.Dispose()
End Sub
这是我编辑的第二个代码以使其变得简单
Private Sub txtSearchBar1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearchBar1.TextChanged
myr.Close()
grdApplicantsPI.Refresh()
mycom.Connection = cn
mycom.CommandText = <SQL>SELECT CDate as 'Date',AName as 'Applicant Name' FROM tbl_applicant where AName LIKE '%" txtSearchBar1.Text "%'</SQL>
Dim myadap As New MySqlDataAdapter(mycom)
Dim mydt As New DataTable
myadap.Fill(mydt)
grdApplicantsPI.DataSource = mydt
myadap.Dispose()
End Sub
任何人都可以提出一个解决方案,我只想在 gridview 中显示我的数据库中的记录,并以我将在文本框中输入的文本为基础
【问题讨论】:
请编辑问题并添加您遇到的错误的详细信息。同样在 SQL 的末尾,您没有将条件应用于 EmerContact 字段。 在指定Datasource
之后不需要grdApplicantsPI.Databind
吗?
我不知道,我只是不知道如何得到结果@NP3
所以请在grdApplicantsPI.DataSource = mydt
行之后添加grdApplicantsPI.DataBind()
并检查是否在网格中得到结果。
当我输入代码DataBind is not a member of 'System.Windows.Forms.DataGridView'
@NP3时出现此错误
【参考方案1】:
您可以尝试将您的命令更改为此...在您的命令中,您忘记了“&”来包含您的文本字段,因此您基本上忽略了所有内容,(选择 * where name like txtSearchBar1.Text)您不会返回任何除非确实有一个名称匹配“txtSearchBar1.Text”作为记录。
"SELECT CDate as 'Date',AName as 'Applicant Name' FROM tbl_applicant WHERE AName LIKE '%" & txtSearchBar1.Text & "%'"
【讨论】:
以上是关于VB.net 中的 Textchanged 不在我的 gridview 中显示结果的主要内容,如果未能解决你的问题,请参考以下文章
为啥不在 VB.NET 的 web 服务的参数中暴露 List(Of String)? [复制]