[英]How to include only one column for searching from gridview using Javascript in asp.net?
I got a function from google for client side searching from grid using textbox
我从谷歌那里得到了一个功能,可以使用
textbox
从网格进行客户端搜索
and the function is : 函数是:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
function filter2(phrase, _id) {
var words = phrase.value.toLowerCase().split(" ");
var table = document.getElementById(_id);
var ele;
for (var r = 1; r < table.rows.length; r++) {
ele = table.rows[r].innerHTML.replace(/<[^>]+>/g, "");
var displayStyle = 'none';
for (var i = 0; i < words.length; i++) {
if (ele.toLowerCase().indexOf(words[i]) >= 0)
displayStyle = '';
else {
displayStyle = 'none';
break;
}
}
table.rows[r].style.display = displayStyle;
}
}
</script>
and calling from textbox
is as: 从
textbox
调用为:
<asp:TextBox ID="txtSearch" TabIndex="2" onkeyup="filter2(this, '<%=GridView1.ClientID %>');" runat="server" AutoPostBack="True"/>
and the Gridview
I used for searching is as: 我用来搜索的
Gridview
是:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:BoundField DataField="ClassName" HeaderText="Class Name" />
<asp:BoundField DataField="PerWeekClass" HeaderText="Week Classes" />
<asp:BoundField DataField="SubID" visible="false" />
</Columns>
</asp:GridView>
the issue I got is this function searches string from all the columns of the grid but, 我得到的问题是此函数从网格的所有列中搜索字符串,但是,
I need only first column that should function search string from. 我只需要应该从中搜索字符串的第一列。
I am weak in java script so I need your help to solve this issue. 我的Java脚本功能很弱,因此需要您的帮助来解决此问题。
Thanks in advance. 提前致谢。
Here is the code where you can try... 这是您可以尝试的代码...
.aspx 的.aspx
<asp:TextBox ID="txt" runat="server" onkeyup="filter(this);"></asp:TextBox>
<br />
<asp:GridView ID="gv" runat="server" Width="100%" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Filter" />
<asp:BoundField DataField="Name" />
</Columns>
</asp:GridView>
Javascript 使用Javascript
function filter(txt) {
var grid = document.getElementById("<%=gv.ClientID %>");
var row = grid.rows.length;
var filterValue = txt.value.toLowerCase();
var splitter = filterValue.split(' ');
var display = '';
var currentRowValue = '';
for (var i = 1; i < row; i++) {
display = 'none';
currentRowValue = grid.rows[i].cells[0].innerText;
for (var j = 0; j < splitter.length; j++) {
if (currentRowValue.toLowerCase().startsWith(splitter[j]))
display = '';
else {
display = 'none';
break;
}
}
grid.rows[i].style.display = display;
}
}
Code Behind 背后的代码
protected void Page_Load(object sender, EventArgs e)
{
// Check
if (!IsPostBack)
{
// Varaible
DataTable dt = new DataTable();
dt.Columns.Add("Filter");
dt.Columns.Add("Name");
// Add
dt.Rows.Add("Do", "Doraemon");
dt.Rows.Add("No", "Nobita");
dt.Rows.Add("Si", "Sizuka");
dt.Rows.Add("Sin", "Sinyu");
// Bind
gv.DataSource = dt;
gv.DataBind();
}
}
Change 更改
ele = table.rows[r].innerHTML.replace(/<[^>]+>/g, "");
To 至
ele = table.rows[r].cells[0].innerHTML.replace(/<[^>]+>/g, "");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.