Modificando nuestro GridView

Ahora vamos a realizar algunos cambios a nuestro grid para tener un mejor control sobre sus columnas.

Primero quitaremos la propiedad que genera automáticamente las columnas de nuestro GridView esto para poder cambiar el ancho de nuestras columnas.

Después cambiaremos nuestros CommandFields por TemplateFields, que el funcionamiento es idéntico pero con esta propiedad podremos manipular de mejor manera nuestros botones.

Entonces, nuestro GridView quedará de la siguiente manera.


<asp:GridView ID="dgvListado" runat="server"

    OnRowEditing="dgvListado_RowEditing"
    OnRowUpdating="dgvListado_RowUpdating"
    OnRowCancelingEdit="dgvListado_RowCancelingEdit"
    OnRowDeleting="dgvListado_RowDeleting"                      
    AutoGenerateColumns="false">      
    <%--  AutoGenerateColumns. Quitamos la opción de que el GridView nos genere las columnas --%>
    <Columns>
        <asp:TemplateField>
            <%--  Columna editar --%>
            <ControlStyle Width="15px" Height="15px" />
            <ItemTemplate>
                <asp:ImageButton ID="btnEditar"
                    CommandName="Edit"
                    ImageUrl="~/Imagenes/Editar.ICO"
                    runat="server" />
            </ItemTemplate>
            <EditItemTemplate>
                <asp:ImageButton ID="btnActualizar"
                    CommandName="Update"
                    ImageUrl="~/Imagenes/Actualizar.ICO"
                    runat="server" />
                <asp:ImageButton ID="btnCancelar"
                    CommandName="Cancel"
                    ImageUrl="~/Imagenes/Cancelar.ico"
                    runat="server" />
            </EditItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField >
            <%--  Columna eliminar --%>
            <ControlStyle Width="15px" Height="15px" />
            <ItemTemplate>
                <asp:ImageButton ID="btnEliminar"
                    CommandName="Delete"
                    ImageUrl="~/Imagenes/Eliminar.ico"
                    runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField HeaderText="Clave" DataField="Clave" ItemStyle-Width="100px" ReadOnly="true" />
        <asp:BoundField HeaderText="Nombre" DataField="Nombre" ItemStyle-Width="250px" />
        <asp:BoundField HeaderText="Teléfono" DataField="Telefono" ItemStyle-Width="150px" />
    </Columns>
</asp:GridView>



Si están trabajando en visual basic .NET, deben eliminar las siguientes líneas:

OnRowEditing="dgvListado_RowEditing"
OnRowUpdating="dgvListado_RowUpdating"
OnRowCancelingEdit="dgvListado_RowCancelingEdit"
OnRowDeleting="dgvListado_RowDeleting"

Comentarios

Entradas populares de este blog

Agregar registros a un GridView utilizando un DataTable

Validar registros de un DataTable

Agregar imágenes a los CommandFields