Solution #1

<asp:TemplateField>
    <ItemTemplate>
        <%# Container.DataItemIndex + 1 %>
    </ItemTemplate>
</asp:TemplateField>

Solution #2

  • Template
<asp:TemplateField>
    <ItemTemplate>
        <asp:Label runat="server" ID="lblRowIndex"/>   
    </ItemTemplate>
</asp:TemplateField>
  • Behind code

protected void GridView1_RowCreated1(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow) { 
        Label lblRowIndex= (Label)e.Row.Cells(0).Controls(0); 
        lblRowIndex.Text = (e.Row.RowIndex + 1).ToString();
    }
}