Asp.net实现ListView控件的搜索功能
我有一个包含编辑、删除和添加的列表视图。这里一切都很好,但是列表太大了,我想给用户一个带有文本框和按钮的serach功能 当用户单击“搜索”按钮时,列表视图将按搜索条件进行过滤 有人能帮我做到这一点吗。Asp.net实现ListView控件的搜索功能,asp.net,Asp.net,我有一个包含编辑、删除和添加的列表视图。这里一切都很好,但是列表太大了,我想给用户一个带有文本框和按钮的serach功能 当用户单击“搜索”按钮时,列表视图将按搜索条件进行过滤 有人能帮我做到这一点吗。 谢谢好吧,你必须了解你的基本结构;假设您正在呈现一个表,您需要编写JavaScript来循环遍历每一行,并执行如下操作: $("#table").find("tbody > tr").each(function() { var row = this; //loop thro
谢谢好吧,你必须了解你的基本结构;假设您正在呈现一个表,您需要编写JavaScript来循环遍历每一行,并执行如下操作:
$("#table").find("tbody > tr").each(function() {
var row = this;
//loop through the cells, do the string match
var tds = $(this).find("td");
//match the inner HTML of the td to the search criteria, depending on how
//your search critiera is setup
//if not found
$(this).css("display", "none"); //hide the row
});
嗯,你必须了解你的基本结构;假设您正在呈现一个表,您需要编写JavaScript来循环遍历每一行,并执行如下操作:
$("#table").find("tbody > tr").each(function() {
var row = this;
//loop through the cells, do the string match
var tds = $(this).find("td");
//match the inner HTML of the td to the search criteria, depending on how
//your search critiera is setup
//if not found
$(this).css("display", "none"); //hide the row
});
(针对对该问题的评论…)
很大程度上取决于您的DOM结构。您需要知道列表视图
是如何布置其元素的。例如,如果它们都是div
元素,那么对于JavaScript代码,您需要知道这一点。(我将假设使用jQuery,因为现在这是一个安全的假设。)
本质上,您的过滤器将至少有一个文本输入元素:
<input type="text" id="searchFilter" />
对于筛选本身,可以使用:contains()
选择器。请参阅有关它的信息。基本上,您会隐藏所有元素,然后显示匹配的元素。类似这样(未经测试):
其思想是隐藏所有子div(根据您的DOM,您的选择器可能需要更具体),然后显示与筛选器匹配的子div。当然,不要忘记,如果筛选文本为空,则使用默认的大小写来显示所有内容。(作为对问题评论的回应…)
很大程度上取决于您的DOM结构。您需要知道列表视图
是如何布置其元素的。例如,如果它们都是div
元素,那么对于JavaScript代码,您需要知道这一点。(我将假设使用jQuery,因为现在这是一个安全的假设。)
本质上,您的过滤器将至少有一个文本输入元素:
<input type="text" id="searchFilter" />
对于筛选本身,可以使用:contains()
选择器。请参阅有关它的信息。基本上,您会隐藏所有元素,然后显示匹配的元素。类似这样(未经测试):
其思想是隐藏所有子div(根据您的DOM,您的选择器可能需要更具体),然后显示与筛选器匹配的子div。当然,别忘了,如果筛选器文本为空,则使用默认大小写来显示所有内容。这取决于如何呈现ListView,但如果呈现表并希望执行筛选客户端,则可以使用jQuery插件,如,这取决于呈现ListView的方式,但如果呈现表并希望执行筛选客户端,则可以使用jQuery插件(如)最终使用了以下功能:
protected void btnSearch_Click(object sender, EventArgs e)
{
DS.SelectCommand =
"SELECT ReportName, ReportType,
FROM Table
WHERE ReportName LIKE @param
ORDER BY ReportType Desc";
DS.SelectParameters.Add("Param", searchTxtBox.Text.Replace("'", "''"));
DS.DataBind();
ListView1.DataBind();
}
最后使用了这个:
protected void btnSearch_Click(object sender, EventArgs e)
{
DS.SelectCommand =
"SELECT ReportName, ReportType,
FROM Table
WHERE ReportName LIKE @param
ORDER BY ReportType Desc";
DS.SelectParameters.Add("Param", searchTxtBox.Text.Replace("'", "''"));
DS.DataBind();
ListView1.DataBind();
}
您想在客户端还是服务器端进行筛选?前者将是一个更平滑的用户体验,后者可能更容易。您想在客户端还是服务器端进行过滤?前者将是更平滑的用户体验,后者可能更简单。如果有现成的ASP.NET ListView控件Serch功能,我会寻找。如果有现成的ASP.NET ListView控件Serch功能,我会寻找现成的ASP.NET ListView控件Serch功能。谢谢,但如果有现成的ASP.NET ListView控件Serch功能,我会寻找现成的ASP.NET ListView控件Serch功能。你必须做这项工作。谢谢,但我正在寻找现成的ASP.NET ListView控件Serch功能,如果有的话,没有现成的功能。你必须做这项工作。