我的aspx页面中有一个gridview和一个搜索文本框。现在我的要求是,只要在此文本框中键入任何内容,就必须根据文本框的类型值刷新gridview。
是否可以使用Gridview或我需要使用Jquery网格?
提前致谢。
答案 0 :(得分:0)
我刚刚从我的一个项目中拔出来,这就是我的2个文本框TextChanged事件被解雇了
我会再次运行该程序(使用模式匹配),然后将其附加到绑定源。
如果您只想在按下按钮时发生这种情况,请将其按下按钮事件
private void FindTextChange(object sender, EventArgs e)
{
System.Data.SqlClient.SqlParameter[] param = new System.Data.SqlClient.SqlParameter[3];
param[0] = new System.Data.SqlClient.SqlParameter("@param1", SqlDbType.VarChar, 50);
param[1] = new System.Data.SqlClient.SqlParameter("@param2", SqlDbType.VarChar, 50);
param[2] = new System.Data.SqlClient.SqlParameter("@SysproDB", SqlDbType.VarChar, 50);
param[0].Value = txt1.Text;
param[1].Value = txt2.Text;
param[2].Value = System.Configuration.ConfigurationSettings.AppSettings["SysproDB"].ToString();
param[0].Direction = ParameterDirection.Input;
param[1].Direction = ParameterDirection.Input;
param[2].Direction = ParameterDirection.Input;
result = (DataTable)SessionClass.dbc.runStoredProc(procedure, param);
BindingSource.DataSource = result;
}
答案 1 :(得分:0)
使用Javascript检测文本框中的输入。最好在用户按键时设置超时,以避免进行多次回发:
var timer;
function chk_me(){
clearTimeout(timer);
timer=setTimeout(function refreshGridview(){...},1000);
}
使用GetPostBackEventReference方法获取导致网格视图回发的javascript。
答案 2 :(得分:0)
要刷新gridview,您需要在输入内容时进行回发:
<asp:TextBox runat="server" ID="myTextBox" onkeyup="this.form.submit();" />
将 onkeyup =“this.form.submit();”添加到文本框后,会在发布密钥后将表单提交给服务器。
如果gridview的数据绑定是在pageload上完成的,那么这就是你需要添加的全部内容。
如果您的数据绑定是由其他一些操作触发的,例如搜索按钮,您必须从javascript触发它或使用WebMethod来调用数据绑定。
答案 3 :(得分:0)
你可以试试这个:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" AutoPostBack="true" />
<!-- put your grid inside the update panel too -->
</ContentTemplate>
</asp:UpdatePanel>
答案 4 :(得分:0)
您可以简单地将数据绑定到网格视图绑定的数据源。
Datasource1.selectparameters["someParameters"].defaultvalue=Textbox1.text;
Datasource1.DataBind();
Gridview1.DataSource=Datasource1;
Gridview1.DataBind();