Thursday 29 August 2013

Simple ways to Auto Generate Serial Number in GridView

Simple ways to Auto Generate Serial Number in GridView - An Example


Introduction

Sometimes we have a scenario to create a column that will auto generate the serial number, so in this post I will explain how to generate serial number in Grid View.

Simple ways to Auto Generate serial number in GridView

  •   You can do using Container.DataItemIndex in GridView

<asp:TemplateField HeaderText="Serial No">                   
                    <ItemTemplate>
                        <%#Container.DataItemIndex + 1 %>
                    </ItemTemplate>
</asp:TemplateField>



  • You can add following line of code to auto generate a column in GridView
  
<asp:TemplateField HeaderText="Serial No">
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server"
                        Text='<%# (GridView1.PageSize * GridView1.PageIndex) + Container.DisplayIndex + 1 %>'>
                        </asp:Label>
                    </ItemTemplate>
</asp:TemplateField>

Monday 26 August 2013

SET PAGING IN DATALIST IN ASP.NET


                           SET PAGING IN DATALIST IN ASP.NET

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


<!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>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:DataList id="theDataList" runat="server">


<ItemTemplate>


<table border="0" cellpadding="0" cellspacing="0" width="500">


<tr>


<td width="140"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Company Name</strong>:</font></td>


<td><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><%# DataBinder.Eval(Container.DataItem, "CompanyName") %></font></td>


</tr>


<tr>


<td width="110"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Contact Name</strong>:</font></td>


<td><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><%# DataBinder.Eval(Container.DataItem, "ContactName") %></td>


</tr>


<tr>


<td width="110"><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Contact Title</strong>:</font></td>


<td><font size="-1" face="Verdana, Arial, Helvetica, sans-serif"><%# DataBinder.Eval(Container.DataItem, "ContactTitle") %></font></td>


</tr>


</table>


</ItemTemplate>


<separatortemplate>


<hr color="#0099FF" />


</separatortemplate>


</asp:DataList>
        <asp:LinkButton ID="btnFirst" runat="server" OnClick="btnFirst_Click">First</asp:LinkButton>
        <asp:LinkButton id="btnPrev" Text="Prev" OnClick="btnPrev_Click" runat="server" />
        <asp:Label ID="lblCurrentPage" runat="server"></asp:Label>


 



<asp:LinkButton id="btnNext" Text="Next" OnClick="btnNext_Click" runat="server" />
        <asp:LinkButton ID="btnLast" runat="server" OnClick="btnLast_Click">Last</asp:LinkButton></div>
    </form>
</body>
</html>
 and in code behind:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class Default3 : System.Web.UI.Page
{
    PagedDataSource pagedData = new PagedDataSource();
    int CurPage=1;

    void Page_Load(Object obj, EventArgs e)
    {

        doPaging();

    }

    public DataTable getTheData()
    {

        DataSet DS = new DataSet();
        SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString);

        SqlDataAdapter objSQLAdapter = new SqlDataAdapter("SELECT CompanyName, ContactName, ContactTitle FROM Customers", myConnection); objSQLAdapter.Fill(DS, "Customers");


        return DS.Tables[0];

    }

    void doPaging()
    {

        pagedData.DataSource = getTheData().DefaultView;

        pagedData.AllowPaging = true;
        pagedData.PageSize = 4;



        try
        {
            if (Request["Page"].ToString() != null)
            {
                CurPage = Int32.Parse(Request["Page"].ToString());
            }
            else
            {
                CurPage = 1;
            }

            pagedData.CurrentPageIndex = CurPage - 1;

        }

        catch

        (Exception ex)
        {

            pagedData.CurrentPageIndex = 0;

        }

        btnPrev.Enabled = (!pagedData.IsFirstPage);
        //btnPrev.Visible = (!pagedData.IsFirstPage);

        btnFirst.Enabled = (!pagedData.IsFirstPage);
        
        btnNext.Enabled = (!pagedData.IsLastPage);
        //btnNext.Visible = (!pagedData.IsLastPage);

        btnLast.Enabled = (!pagedData.IsLastPage);

        //pagedData.CurrentPageIndex = CurPage - 1;

        lblCurrentPage.Text = "Page: " + CurPage.ToString() + " of " + pagedData.PageCount.ToString(); ;

        theDataList.DataSource = pagedData;
        theDataList.DataBind();

    }

    
    protected void btnPrev_Click(object sender, EventArgs e)
    {
        Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (CurPage - 1));
    }

    protected void btnNext_Click(object sender, EventArgs e)
    {
        Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (CurPage+ 1));
    }

    protected void btnFirst_Click(object sender, EventArgs e)
    {
        Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (1));
    }

    protected void btnLast_Click(object sender, EventArgs e)
    {
        Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (pagedData.PageCount));
    }
}