GridView Paging in ASP.NET

Introduction

There are many things to remember that how a GridView support paging at runtime. Also DOTNET provides many styles is to related paging such as numbering , first and last order etc. Always first think in mind that SqlDataReader does not support paging so do not bind your GridView control with DataReader.

Here we are describe easy steps to bind GridView with paging.

Step-1: Drop GridView Control on Designing window and add some attributes in GridView Tag.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns ="false"
            AllowPaging ="true" PageSize ="2"
            onpageindexchanging="GridView1_PageIndexChanging1">

Step-3:  Handle onpageindexchanging event in code file.

protected void GridView1_PageIndexChanging1(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        loadgrid();

    }
Step-4 : Run your application

Complete code

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="deleteItem.aspx.cs" Inherits="deleteItem" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns ="false"
            AllowPaging ="true" PageSize ="2"
            onpageindexchanging="GridView1_PageIndexChanging1">
        <Columns>
        <asp:TemplateField HeaderText ="Action">
        <ItemTemplate >
            <asp:CheckBox ID="Chkdelete" runat="server" />
        </ItemTemplate>
        </asp:TemplateField>

           <asp:TemplateField HeaderText ="Id" Visible =false>
        <ItemTemplate >
            <asp:Label ID="snolbl" runat="server" Text='<%# Eval("sno") %>' />
        </ItemTemplate>
        </asp:TemplateField>

         <asp:TemplateField HeaderText ="Name">
        <ItemTemplate >
            <asp:Label ID="namelbl" runat="server" Text='<%# Eval("Name") %>' />
        </ItemTemplate>
        </asp:TemplateField>
         <asp:TemplateField HeaderText ="Address">
        <ItemTemplate >
      <asp:Label ID="addlbl" runat="server" Text='<%# Eval("Name") %>' />
        </ItemTemplate>
        </asp:TemplateField>
        
        </Columns>
        </asp:GridView>
   
        <br />
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click"
            Text="Delete Multiple rows" />
   
    </div>
    </form>
</body>

</html>
Codebehind

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

public partial class deleteItem : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            loadgrid();
        }
    }

    private void loadgrid()
    {
        SqlCommand cmd = new SqlCommand("Select * from deltable",con);
        con.Open();
        DataSet ds = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        GridView1.DataSource = ds;

        GridView1.DataBind();
        con.Close();

       
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow  row in GridView1 .Rows)
        {
            var check = row.FindControl("Chkdelete") as CheckBox;
            if (check .Checked)
            {
                var id = row.FindControl("snolbl") as Label;
                SqlCommand cmd = new SqlCommand("delete from deltable where sno=@s", con);
                cmd.Parameters.AddWithValue("@s", id.Text);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();

               
            }
           
        }
        loadgrid();
    }

    protected void GridView1_PageIndexChanging1(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        loadgrid();

    }

}


Output
GridView Paging in ASP.NET
GridView Paging in ASP.NET


9 comments:

  1. Hello Friends,
    Thanks for sharing this nice post. It is really awesome.
    With lots of information.
    SEO Company in India

    ReplyDelete
  2. Hi!!
    Now a days ASP.net has taken a vital role and it's very easy to use.All the steps provided by you is really very nice.There are some asp.net hosting site are avilablle which are providing very nice information.

    ReplyDelete
  3. asp.net gridview

    http://asp.net-informations.com/gridview/gridview-operations.htm

    asp.net tutorial

    ReplyDelete
  4. This blog describes the tutorials of ASP.Net in the Grid list manner..
    6 Months Internship Programs ASP.Net

    ReplyDelete
  5. The candidate which are interested in Grid View Paging in ASP.Net can join this blog...
    Free ASP.Net Training Certificate

    ReplyDelete
  6. Thanks for sharing this useful information..Its really very informative.

    Dot Net Training in Chennai

    ReplyDelete
  7. but the control may not work after postback created during run time.

    ReplyDelete
    Replies
    1. its working, if you are facing error then please give full detail

      Delete