In this article we will know how to create an auto number column in GridView. We can add AutoNumber column by using Container.DataItemIndex property in .aspx page of the GridView.

Program

Default.aspx code
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default"%>
<!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:GridView ID="GridView1" runat="server"
AllowPaging="True" AutoGenerateColumns="False"
PageSize="6"
AlternatingRowStyle-BackColor="red"
AlternatingRowStyle-ForeColor="yellow" >
<Columns>
<asp:TemplateField HeaderText="Sno">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>

</asp:TemplateField>

<asp:BoundField DataField="sname" HeaderText="Name"/>
<asp:BoundField DataField="saddress" HeaderText="Address" />
<asp:BoundField DataField="smarks" HeaderText="Marks" />
<asp:BoundField DataField="year" HeaderText="Year" />
</Columns>
<HeaderStyle BackColor="#FF9966" />
<AlternatingRowStyle BackColor="Red" ForeColor="Yellow"></AlternatingRowStyle>
</asp:GridView>
</div>
</form>
</body>
</
html>

Default.aspx.vb code

Imports System.Data
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()
Dim con As New SqlConnection(strConnString)
Dim str As String
Dim com As SqlCommand

Dim sqlda As SqlDataAdapter
Dim ds As DataSet

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) HandlesMe.Load
bind()
End Sub
Sub bind()
con.Open()
str = "select sname,smarks,saddress,year from student"
com = New SqlCommand(str, con)

sqlda = New SqlDataAdapter(str, con)
ds = New DataSet
sqlda.Fill(ds, "student")
GridView1.DataSource = ds

GridView1.DataMember = "student"
GridView1.DataBind()
con.Close()
End Sub
Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e AsSystem.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
GridView1.PageIndex = e.NewPageIndex
bind()
End Sub
End Class

Output

gridview-in-VB.net.gif