Skip to main content

How To- Search records or data in gridview using jQuery



First take a look on our problem or requirement for search record in gridview by using jquery

In previous Post I was Explained about How to  Use
UpdateProgress Control In Asp.Net with ProgressTemplate

In this Example I will Explain How To- Search records or data in Gridview using jQuery
with out Postback or client side .

Grdiview Data

As you can see on above image, there is a Gridview which is populated with records and a 
 Textbox with aSearch button. Our requirment is when user enter some text in 
 Textbox and click on the Search button, filter the records from Gridview on any of the column.
For example:- "ma" is entered then only those rows should be visible which have "ma" in any of the column. It can be in ID, First Name, Last Name or Email ID column.
Filtered Data
After understanding the acquirement, now take a look on ASPX page markup.
ASPX page mark up

<div style="padding-left: 10px">
       <asp:Label ID="lblSearch" runat="server" 
      Text="Search Text : " Font-Bold="true"></asp:Label> 
       <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" />
 <asp:Label ID="lblMessage" runat="server" Text="No Record Found" 
Font-Bold="true" ForeColor="Red" style="display:none"></asp:Label>
         <asp:GridView ID="grdDemoGrid" runat="server"
           AutoGenerateColumns="False" 
            DataKeyNames="ID" DataSourceID="SqlDataSource1"
 Width="500px" style="margin-top:10px">
            <HeaderStyle CssClass="GridHeader" />
            <RowStyle CssClass="GridRow" />
            <AlternatingRowStyle CssClass="GridAltRow" />
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" 
                   ReadOnly="True" 
                    SortExpression="ID" />
        <asp:BoundField DataField="FName" HeaderText="First Name"
 SortExpression="FName" />
        <asp:BoundField DataField="LName" HeaderText="Last Name"
 SortExpression="LName" />
       <asp:BoundField DataField="Email" HeaderText="Email Id"
 SortExpression="Email" />
            </Columns>
          </asp:GridView>
 <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="<%$ ConnectionStrings:TestTableConnectionString %>" 
 SelectCommand="SELECT [ID], [FName], [LName], [Email] FROM [UserInfo]">
 </asp:SqlDataSource>
    </div>
jQuery/ Java Script Section with CSS

<style type="text/css">
       .GridHeader
        {
            background-color: #808080;
            color: #ffffff;
            font-weight: bold;
            font-size: 15px;
        }
        .GridRow
        {
            background-color: #ffffff;
            font-size: 13px;
        }
        .GridAltRow
        {
            background-color: #d3d3d3;
            font-size: 13px;
        }
    </style>
 <script type="text/javascript"
  src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#<%=btnSearch.ClientID %>').click(function (e) {
                SearchGridData();
                e.preventDefault();
            });
        });
        function SearchGridData() {
            var counter = 0;
        //Get the search text
    var searchText = $('#<%=txtSearch.ClientID %>')
    .val().toLowerCase();
         //Hide No record found message
            $('#<%=lblMessage.ClientID %>').hide();
            //Hode all the rows of gridview
            $('#<%=grdDemoGrid.ClientID %> tr:has(td)').hide();
            if (searchText.length > 0) {
              //Iterate all the td of all rows
 $('#<%=grdDemoGrid.ClientID %> tr:has(td)').children()
 .each(function ()
 {
      var cellTextValue = $(this).text().toLowerCase();
         //Check that text is matches or not
        if (cellTextValue.indexOf(searchText) >= 0) {
          $(this).parent().show();
                counter++;
            }
                });
                if (counter == 0) {
                    //Show No record found message
                    $('#<%=lblMessage.ClientID %>').show();
                }
            }
            else {
                //Show All the rows of gridview
                $('#<%=grdDemoGrid.ClientID %> tr:has(td)').show();
            }
        }
    </script>
I hope this article will be helpful for you. I would like to have any feedback from you.
 Your valuable feedback, question, or comments about this article are always welcome.

Comments

Popular posts from this blog

Asp.Net AjaxFileUpload Control With Drag Drop And Progress Bar

This Example explains how to use AjaxFileUpload Control With Drag Drop And Progress Bar Functionality In Asp.Net 2.0 3.5 4.0 C# And VB.NET. Previous Post  I was Explained about the   jQuery - Allow Alphanumeric (Alphabets & Numbers) Characters in Textbox using JavaScript  ,  Fileupload show selected file in label when file selected  ,  Check for file size with JavaScript before uploading  . May 2012 release of AjaxControlToolkit includes a new AjaxFileUpload Control  which supports Multiple File Upload, Progress Bar and Drag And Drop functionality. These new features are supported by Google Chrome version 16+, Firefox 8+ , Safari 5+ and Internet explorer 10 + , IE9 or earlier does not support this feature. To start with it, download and put latest AjaxControlToolkit.dll in Bin folder of application, Place ToolkitScriptManager  and AjaxFileUpload on the page. HTML SOURCE < asp:ToolkitScriptManager I...

Check dot net core framework version in my PC Or System

 Open My Computer → double click "C:" drive → double click "Windows" → double click "Microsoft.NET" → double click "Framework" → Inside this folder, there will be folder(s) like "v1.0.3705" and/or "v2.0.50727" and/or "v3.5" and/or "v4.0.30319". Your latest .NET version would be in the highest v number folder, so if v4.0.30319 is available that would hold your latest .NET framework. However, the v4.0.30319 does not mean that you have the .NET framework version 4.0. The v4.0.30319 is your Visual C# compiler version, therefore, in order to find the .NET framework version do the following. Go to a command prompt and follow this path: C:\Windows\Microsoft.NET\Framework\v4.0.30319 (or whatever the highest v number folder) C:\Windows\Microsoft.NET\Framework\v4.0.30319 > csc.exe Output: Microsoft (R) Visual C# Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 Copyright (C) Microsoft Corporati...

ASP.NET Routing

ASP.NET routing enables you to use URLs that do not have to map to specific files in a Web site. Because the URL does not have to map to a file, you can use URLs that are descriptive of the user's action and therefore are more easily understood by users. The ASP.NET MVC framework and ASP.NET Dynamic Data extend routing to provide features that are used only in MVC applications and in Dynamic Data applications. For more information about MVC, see ASP.NET MVC 3 . For more information about Dynamic Data, see ASP.NET Dynamic Data Content Map . In an ASP.NET application that does not use routing, an incoming request for a URL typically maps to a physical file that handles the request, such as an .aspx file. For example, a request for http://server/application/Products.aspx?id=4 maps to a file that is named Products.aspx that contains code and markup for rendering a response to the browser. The Web page uses the query string value of id=4 to determine what type of c...