GridView でフィルターを作成する Javascript の関数があります。ただし、この関数は列ごとにフィルターを作成します。つまり、すべての GridView をフィルター処理するには、GridView の列ごとに「入力」が必要でした。この関数をすべての GridView 列の 1 つの「入力」に適応させるにはどうすればよいですか? この機能を適応させました。もともと、GrdiView ではなく「テーブル」で値を取得していましたが、この状況では解決策がわかりません。私は明確ですか?
私の機能:
$(function () {
$("#tabela input").keyup(function () {
var index = $(this).parent().index();
var nth = "#GridView1 td:nth-child(" + (index + 1).toString() + ")";
var valor = $(this).val().toUpperCase();
$("#GridView1 tbody tr").show();
$(nth).each(function () {
if ($(this).text().toUpperCase().indexOf(valor) < 0) {
$(this).parent().hide();
}
});
});
$("#tabela input").blur(function () {
$(this).val("");
});
});
私のGridView:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" GridLines="None"
CssClass="table table-bordered table-striped">
<Columns>
<asp:BoundField DataField="idTickets" HeaderText="ID" />
<asp:BoundField DataField="UserName" HeaderText="User" />
<asp:BoundField DataField="AccessGroup" HeaderText="Access Group" />
<asp:BoundField DataField="FolderAccess" HeaderText="Folder Access" />
<asp:BoundField DataField="RequestDate" HeaderText="Request Date" DataFormatString="{0:d}" />
<asp:BoundField DataField="SituationDesc" HeaderText="Situation" />
<asp:BoundField DataField="Approver" HeaderText="Approver" />
<asp:BoundField DataField="ApprovalDate" HeaderText="Approval Date" DataFormatString="{0:d}" />
<asp:BoundField DataField="BusinessJustification" HeaderText="Business Justification" />
<asp:BoundField DataField="Server" HeaderText="Server Name" />
<asp:BoundField DataField="UserRequestor" HeaderText="User Request" />
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HiddenField ID="Access" runat="server" Value='<%# Bind("Access") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
最初の 3 つの列をフィルタリングするには、3 つの入力が必要でした。
<table id="tabela">
<thead>
<tr>
<th>
ID
</th>
<th>
USER
</th>
<th>
Access Group
</th>
</tr>
<tr>
<th>
<input type="text" id="txtColuna1" />
</th>
<th>
<input type="text" id="txtColuna2" />
</th>
<th>
<input type="text" id="txtColuna3" />
</th>
</tr>
</thead>
</table>