Asp.net 根据输入文本框的文本动态更新GridView结果
我想根据文本框中输入的字符动态更新GridView的结果。我的代码目前可以工作,但仅在文本框失去焦点或用户选项卡离开文本框时触发更新。文本框的AutoPost设置为true。我有刷新SQLDataSource的代码,我只希望在用户在文本框中输入字符时进行更新。我想这需要客户端的操作,但不确定从哪里开始。多谢各位 加价Asp.net 根据输入文本框的文本动态更新GridView结果,asp.net,vb.net,gridview,sqldatasource,Asp.net,Vb.net,Gridview,Sqldatasource,我想根据文本框中输入的字符动态更新GridView的结果。我的代码目前可以工作,但仅在文本框失去焦点或用户选项卡离开文本框时触发更新。文本框的AutoPost设置为true。我有刷新SQLDataSource的代码,我只希望在用户在文本框中输入字符时进行更新。我想这需要客户端的操作,但不确定从哪里开始。多谢各位 加价 这可能有助于你完成客户部分:谢谢阿里,我刚刚查看了链接中的信息,我很高兴尝试这种方法。我会报告我的结果。 <asp:TextBox ID="txtSearch"
这可能有助于你完成客户部分:谢谢阿里,我刚刚查看了链接中的信息,我很高兴尝试这种方法。我会报告我的结果。
<asp:TextBox ID="txtSearch" runat="server" AutoPostBack="True" ViewStateMode="Enabled"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="NameFirst" HeaderText="First Name" SortExpression="NameFirst" />
<asp:BoundField DataField="NameLast" HeaderText="Last Name" SortExpression="NameLast" />
<asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
<asp:BoundField DataField="State_ID" HeaderText="State" SortExpression="State_ID" />
</Columns>
</asp:GridView>
Protected Sub txtSearch_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged
GridData()
End Sub
Private Sub GridData()
Dim conString As String = ConfigurationManager.ConnectionStrings("MyConnectionString").ToString()
Dim sqlcon As New SqlConnection(conString)
Dim sqlcmd As SqlCommand
Dim da As SqlDataAdapter
Dim dt As New System.Data.DataTable()
Dim query As [String]
If txtsearch.Text = "" Then
query = "SELECT [Individual_ID], [NameFirst], [NameLast], [Address], [City], [State_ID], [ZipCode], [Comment] FROM [t_Individual] ORDER BY [NameLast], [NameFirst]"
Else
query = "SELECT [Individual_ID], [NameFirst], [NameLast], [Address], [City], [State_ID], [ZipCode], [Comment] FROM [t_Individual] WHERE [NameLast] LIKE N'%" + txtSearch.Text + "%' ORDER BY [NameLast], [NameFirst]"
End If
sqlcmd = New SqlCommand(query, sqlcon)
sqlcon.Open()
da = New SqlDataAdapter(sqlcmd)
dt.Clear()
da.Fill(dt)
If dt.Rows.Count > 0 Then
GridView1.DataSourceID = ""
GridView1.DataSource = dt
GridView1.DataBind()
Else
GridView1.DataBind()
End If
sqlcon.Close()
End Sub