This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Me And My Respected Teacher Mr Kamal Sheel Mishra

Mr. K.S. Mishra is HOD of Computer Science from SMS Varanasi where I have completed my MCA

Me And My Respected Teacher Mr Udayan Maiti

Mr. Udayan Maiti is a senior .Net Expert and has guided many professionals of multi national Companies(MNC)

Me And My Best Friend Mr Ravinder Goel

Mr. Ravinder Goel is a senior Software Engineer and now he is working Wipro Technology

Saturday 26 November 2016

Paging, Sorting, Searching In ASP.NET by JQuery DataTable

Paging, Sorting, Searching In ASP.NET by JQuery DataTable
Nowadays   it is most popular way to apply client side searching, sorting and pagination (client/server side) through ajax/html request from any tabular format.


--Database.............................

USE [NORTHWND]
GO

/****** Object:  Table [dbo].[Customers]    Script Date: 26-11-2016 21:37:43 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Customers](
            [CustomerID] [nchar](5) NOT NULL,
            [CompanyName] [nvarchar](40) NOT NULL,
            [ContactName] [nvarchar](30) NULL,
            [ContactTitle] [nvarchar](30) NULL,
            [Address] [nvarchar](60) NULL,
            [City] [nvarchar](15) NULL,
            [Region] [nvarchar](15) NULL,
            [PostalCode] [nvarchar](10) NULL,
            [Country] [nvarchar](15) NULL,
            [Phone] [nvarchar](24) NULL,
            [Fax] [nvarchar](24) NULL,
 CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED
(
            [CustomerID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO


First we will take WebForm  in Asp.net Application which name is Default.aspx
Code for  Default.aspx.....................
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>JQuery Data Table in Asp.Net</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>

<link href="Style/bootstrap-theme.css" rel="stylesheet" />
<link href="Style/dataTables.jqueryui.css" rel="stylesheet" />
<link href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css" rel="stylesheet" />
<script type="text/javascript">

$(document).ready(function () {
// Setup - add a text input to each footer cell
$('#example tfoot th').each(function () {
var title = $(this).text();
$(this).html('<input type="text" placeholder="Search ' + title + '" />');
});

// DataTable
var table = $('#example').DataTable();

// Apply the search
table.columns().every(function () {
var that = this;

$('input', this.footer()).on('keyup change', function () {
if (that.search() !== this.value) {
that
.search(this.value)
.draw();
}
});
});
});
</script>
<style type="text/css">
.paging_full_numbers span.paginate_button {
background-color: #fff;
}

.paging_full_numbers span.paginate_button:hover {
background-color: #ccc;
}

.paging_full_numbers span.paginate_active {
background-color: #99B3FF;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div style ="margin-top:30px">
<table class="table table-striped table-bordered " style="font-family: Serif;"
border="1px" id="example" >
<thead>
<tr>
<th>SrNo</th>
<th>CustomerID</th>
<th>CompanyName</th>
<th>Contact Name</th>
<th>Address</th>
<th>City</th>
<%-- <th> Region</th>
<th>PostalCode</th>
<th>Country</th>--%>
<th>Actions</th>
</tr>
</thead>

<tfoot>
<tr>
<th>SrNo</th>
<th>CustomerID</th>
<th>CompanyName</th>
<th>Contact Name</th>
<th>Address</th>
<th>City</th>
<%--<th> Region</th>
<th>PostalCode</th>
<th>Country</th>--%>
<th>Actions</th>
</tr>
</tfoot>
<tbody id="tlist" runat="server">
</tbody>
</table>
</div>
</form>
</body>
</html>





Code for  Default.aspx.cs.....................

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
BindDataTable();
}

}
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["NORTHWNDConnectionString"].ConnectionString);
public void BindDataTable()
{

con.Open();
SqlCommand cmd = new SqlCommand("SELECT [CustomerID],[CompanyName],[ContactName],[ContactTitle],[Address],[City],[Region],[PostalCode],[Country],[Phone],[Fax]FROM[dbo].[Customers]", con);
SqlDataReader dr = cmd.ExecuteReader();
String result = "";
Int32 i = 1;
while (dr.Read())
{

result += "<tr>";
result += "                               <td>" +i.ToString() +"</td>";
result += "                               <td>" + dr["CustomerID"] + "</td>";
result += "                               <td>" + dr["CompanyName"] + "</td>";
result += "                               <td>" + dr["ContactName"] + "</td>";
result += "                               <td>" + dr["Address"] + "</td>";
result += "                               <td>" + dr["City"] + "</td>";
//result += "                            <td class=\"center\">" + dr["Region"] + "</td>";
//result += "                            <td class=\"center\">" + dr["PostalCode"] + "</td>";
//result += "                            <td class=\"center\">" + dr["Country"] + "</td>";

result += "                               <td class=\"center\">";
result += "                               <a class=\"btn btn-info\" href=\"Edit.aspx?ID=" + dr[0] + "\">";
result += "                               <i class=\"icon-edit icon-white\"></i>  ";
result += "                               Edit                                    ";
result += "                               </a>";
result += "                   <a class=\"btn btn-info\" href=\"Delete.aspx?ID=" + dr[0] + "\">";
result += "                   <i class=\"icon-edit icon-white\"></i>  ";
result += "                                                       Delete                                    ";
result += "                                           </a>";
result += "                               </td>";
result += "                   </tr>";
tlist.InnerHtml = result;
i++;
}
con.Close();
}
}


Result




<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>


    <link href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css" rel="stylesheet" />
    <style type="text/css">
        tfoot input {
            width: 100%;
            padding: 3px;
            box-sizing: border-box;
        }
    </style>

   

  
    <script type="text/javascript">

        $(document).ready(function () {
            // Setup - add a text input to each footer cell
            $('#example tfoot th').each(function () {
                var title = $(this).text();
                $(this).html('<input type="text" placeholder="Search ' + title + '" />');
            });

            // DataTable
            var table = $('#example').DataTable();

            // Apply the search
            table.columns().every(function () {
                var that = this;

                $('input', this.footer()).on('keyup change', function () {
                    if (that.search() !== this.value) {
                        that
                            .search(this.value)
                            .draw();
                    }
                });
            });
        });
    </script>
</head>
<body>
    <table id="example" class="display" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </tfoot>
        <tbody>
            <tr>
                <td>Kush Tiwari</td>
                <td>.Net Developer</td>
                <td>Hard Shell Pvt Ltd</td>
                <td>29</td>
                <td>2016/11/24</td>
                <td>50000</td>
            </tr>

            <tr>
                <td>Udayan Maiti</td>
                <td>Sr .Net Developer</td>
                <td>Hard Shell Pvt Ltd</td>
                <td>31</td>
                <td>2015/11/24</td>
                <td>67000</td>
            </tr>
........................................................
............................................
            </tbody>
    </table>
</body>
</html>