Jquery’s Datatable plugin with gridview in asp.net

因.net的gridview介面及功能看起來沒很優,
故找到此篇文章來結合,此文章引用:
http://aspnetstuffs.blogspot.tw/2014/08/how-to-use-jquerys-datatable-plugin.html
Step 1:-Now create two table in sql server and populate it with data as shown below:
 
    CountryMaster
 
    StateMaster
 
Step 2:-Now create one stored procedure to fetch the records from database.
CREATE PROCEDURE [dbo].[SPState]
AS
BEGIN
 
                select *,(select c.[Country] from [CountryMaster] c where c.[Id] = s.[CountryId]) as[Country] from StateMaster s
 
 
END
 
Step 3:-Now download Jquery datatable plugin from here
 
Step 4:-Now extract that downloaded zip file and go to media folder which contains required css and .js file to use datatable in your asp.net application.
 
Step 5:-Now in order to connect our asp.net application with sql server we need connectionString.Therefore in your web.config file include connectionString tag under  configuration tag.
<connectionStrings>
    <add name="conStr" connectionString="Data Source=localhost;Initial Catalog=YoursDbName;Integrated Security=True"/>
  </connectionStrings>
 
Step 6:- Now let’s create default.aspx page
<head runat="server">
    <title></title>
    <script src="jquery-1.11.1.min.js" type="text/javascript"></script>
 
    <link href="jquery.dataTables.css" rel="stylesheet" type="text/css" />
 
    <script src="jquery.dataTables.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $(".gvv").prepend($("<thead></thead>").append($(this).find("tr:first"))).dataTable({
            "lengthMenu":[[3,5,10,25,-1],[3,5,10,25,"All"]] //value:item pair
        });
    });
    </script>
</head>
<body>
  
    <form id="form1" runat="server">
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </asp:ToolkitScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:GridView ID="gvState" runat="server" AllowPaging="True" CssClass="gvv display" AutoGenerateColumns="False">
                   <Columns>
                      <asp:TemplateField HeaderText="SrNo" ItemStyle- HorizontalAlign="Center">
                         <ItemTemplate>
                             <%# Container.DataItemIndex + 1 %>
                         </ItemTemplate>
                         <ItemStyle HorizontalAlign="Center" Width="10%" />
                      </asp:TemplateField>
 
                      <asp:TemplateField HeaderText="Id" Visible="false">
                         <ItemTemplate>
      <asp:Label ID="lblId" runat="server" Text='<%# Eval("Id") %>'></asp:Label>
                         </ItemTemplate>
                      </asp:TemplateField>
                                           
                     <asp:TemplateField HeaderText="Country" HeaderStyle-HorizontalAlign="Center">
                       <ItemTemplate>
<asp:Label ID="lblCountry" runat="server" Text='<%# Eval("Country") %>'></asp:Label>
                       </ItemTemplate>
                      <ItemStyle HorizontalAlign="Center" Width="35%" />
                     </asp:TemplateField>
                                           
                     <asp:TemplateField HeaderText="State" HeaderStyle-HorizontalAlign="Center">
                         <ItemTemplate>
 <asp:Label ID="lblState" runat="server" Text='<%# Eval("State") %>'></asp:Label>
                          </ItemTemplate>
                          <ItemStyle HorizontalAlign="Center" Width="35%" />
                      </asp:TemplateField>
         </Columns>
         </asp:GridView>
     /ContentTemplate>
   </asp:UpdatePanel>
 </form>
</body>
</html>
 
 
Step 7:- Default.aspx.cs
Include three namespace
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
 
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                fillGrid();
            }
        }
 
        private void fillGrid()
        {
            string conn= 
           ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
            SqlConnection con = new SqlConnection(conn);
           
            SqlCommand cmd = new SqlCommand("SPState",con);
            cmd.CommandType = CommandType.StoredProcedure;
           
            DataSet ds = new DataSet();
 
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            sda.Fill(ds);
            cmd.Dispose();
 
            gvState.DataSource = ds;
            gvState.DataBind();
        }
 
Step 8:-View your default.aspx  page in browser and it will almost look like below:-

 

 
Step 9:-Start searching what are you waiting for.

For More details on datatable check out below link:
http://datatables.net