You can achieve this through two way:
Step 2: Add following GridView Event code snippet to your code – behind file (.cs)
Method 1
Step 1. Add this your GridView:< asp:GridView ID = "GridView1" runat = "server" AutoGenerateColumns = "False" DataKeyNames = "id" DataSourceID = "SqlDataSource1" OnRowCreated = "GridView1_RowCreated" > < Columns > < asp:TemplateField HeaderText = "RowId" > < ItemTemplate >< asp:Label runat = "server" /> </ ItemTemplate > </ asp:TemplateField > ... </ Columns > |
Step 2: Add following GridView Event code snippet to your code – behind file (.cs)
protected void GridView1_RowCreated( object sender, System.Web.UI.WebControls.GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { // Retrieve the Label from the first column. Label myLabel = (Label)e.Row.Cells[0].Controls[0]; // Set Label text equal to the rowIndex +1 myLabel.Text = e.Row.RowIndex.ToString() + 1; } } |
Method 2
The another way to do it is this one in the Columns section of your GridView control:< asp:GridView ID = "GridView1" runat = "server" AllowPaging = "True" AllowSorting = "True" AutoGenerateColumns = "False" DataSourceID = "SqlDataSource1" PageSize = "5" > < Columns > < asp:TemplateField > < ItemTemplate > <%# Container.DataItemIndex + 1 %> </ ItemTemplate > </ asp:TemplateField > < asp:BoundField DataField = "CategoryName" HeaderText = "CategoryName" SortExpression = "CategoryName" /> < asp:BoundField DataField = "Description" HeaderText = "Description" SortExpression = "Description" /> </ Columns > </ asp:GridView > |