Como generar columna auto numérica en un GrirdView

Estrada Web Group
Administrador
Como generar columna auto numérica en un GrirdView

Generate Serial Number in GridView

Cuando tengas un escenario donde necesites crear una columna que te genere ID, números de serie o un consecutivo en un GridView, puedes recurrir a este artículo. En este post te explicaremos cómo generar id´s en una columna de un GridView.

Lo más sencillo para generar automáticamente números de serie en un GridView, es usar el Container.DataItemIndex en el siguiente ejemplo te muestro como usarlo:

 

                  <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>

GridView Generate Serial Number in GridView

El ejemplo completo es el siguiente, claro solo tienes que crear tu cadena de conección a la base de datos.

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="AutoIDGrid_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" DataSourceID="SqlDataSource1" Font-Names="Latha" GridLines="None" AllowPaging="True" PageSize="5">
                <Columns>
                    <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>
                    <asp:BoundField DataField="PostTitle" HeaderText="PostTitle" SortExpression="PostTitle" />
                    <asp:BoundField DataField="PostDate" HeaderText="PostDate" SortExpression="PostDate" />
                    <asp:BoundField DataField="Clave" HeaderText="Clave" SortExpression="Clave" />
                </Columns>
                <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
                <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
                <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
                <RowStyle BackColor="#DEDFDE" ForeColor="Black" />
                <SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
                <SortedAscendingCellStyle BackColor="#F1F1F1" />
                <SortedAscendingHeaderStyle BackColor="#594B9C" />
                <SortedDescendingCellStyle BackColor="#CAC9C9" />
                <SortedDescendingHeaderStyle BackColor="#33276A" />
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Nombre de la conección a DB%>" SelectCommand="SELECT * FROM [Nombre de la Tabla]"></asp:SqlDataSource>
        </div>
    </form>
</body>
</html>

Espero que este ejemplo te sea de utilidad y si tienes comentarios escríbenos, estaremos felices de responderte.

Saludos y gracias por leernos.

 

Compartir artículo:

Más artículos geniales

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;