Cambiar contenido de un GridView cuando se muestra, utilizando el evento RowDataBound

En este post veremos cómo modificar la información que se muestra en GridView, utilizando el evento  RowDataBound. Veremos en qué momento se ejecuta este evento y como lo podemos utilizar.


El GridView es un control que nos proporciona ASP.NET cuya funcionalidad es mostrar información en forma tabular. Seguramente es uno de los controles más usados en sitios web. Bueno ya vamos al grano.

 

El evento RowDataBound

El evento RowDataBound, se ejecuta cada vez que un DataItem es bindado. Es decir, cada vez que se enlaza información de nuestra fuente de datos (base de datos) a una fila del GridView este evento se ejecuta.

El evento  RowDataBound  es muy útil cuando necesitamos modificar la información que le vamos a mostrar al usuario.

Imagina que queremos formatear una fecha, o hacer un cálculo con la información que nos presenta y remplazarla por el resultado, pues en el evento RowDataBound es donde pondríamos el código que realice el formateo de fecha o el cálculo.

A continuación puedes ver la implementación de un ejemplo modificando la fecha en un GridView.

   Protected Sub GridView1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GridView1.RowDataBound
        If (e.Row.RowType = DataControlRowType.DataRow) Then
            e.Row.Cells(2).Text = CDate(e.Row.Cells(2).Text).ToString("y")
        End If
    End Sub

Como puedes ver es muy sencillo y muy útil el evento RowDataBound, ya que nos permite modificar el resultado que se le presenta al usuario final.

Gridview Original

RowDataBound moficar contenido de un gridview

GridvView con la fecha modificada

RowDataBound moficar contenido de un gridview

Si tienes dudas o comentarios puedes escribirme y enseguida te responderé.

Artículos relacionados
19 Comentarios
  • Mhel Comentar
    Monday, December 23, 2013

    hola , saludos Mi duda es la siguiente, tengo un DataGriew con 2 columnas la primera es NO_RONDA y la segunda es NO_FALLA, ahora lo que quiero hacer es que genere un número consecutivo en NO_FALLA por cada NO_RONDA. por ejemplo NO_RONDA NO_FALLA 1 1 1 2 1 3 1 4 1 5 2 1 2 2 2 3 2 4 3 1 3 2 3 3

    • José Comentar
      Monday, December 23, 2013

      Checa esté artículo a ver si te sirve http://www.developerji.com/Post/Como-generar-columna-auto-numerica-en-un-GrirdView/2045

  • Eddi Comentar
    Tuesday, October 20, 2015

    Hola, sé que es un tema ya algo Viejo pero ojalá me puedan ayudar, tengo un grid llenado desde una base de datos, luego esos datos los puedo editar, primero lo pase a un datatable y luego hice el update, todo bien, pero tengo un error mas bien visual, cuando hago click en la opción Edit del grid me despliega el grid con la fila que seleccioné, el detalle está en la forma en que me muestra la fila, cada celda tiene un tamaño excesivo y sobrepasa el tamaño del grid a pesar de que tiene un max width, mi pregunta es, como puedo hacer que esas celdas cambien de tamaño??? Ojala me puedan ayudar u orientar

  • Eddi Comentar
    Tuesday, October 20, 2015

    Hola, sé que es un tema ya algo Viejo pero ojalá me puedan ayudar, tengo un grid llenado desde una base de datos, luego esos datos los puedo editar, primero lo pase a un datatable y luego hice el update, todo bien, pero tengo un error mas bien visual, cuando hago click en la opción Edit del grid me despliega el grid con la fila que seleccioné, el detalle está en la forma en que me muestra la fila, cada celda tiene un tamaño excesivo y sobrepasa el tamaño del grid a pesar de que tiene un max width, mi pregunta es, como puedo hacer que esas celdas cambien de tamaño??? Ojala me puedan ayudar u orientar

    • José Comentar
      Tuesday, October 20, 2015

      Hola Eddi, el tamaño del campo de texto lo puedes modificar por medio de css. A ver puedes mandarme la imagen de cómo se ve cuando le das editar, y el código html del grid. Saludos

  • Eddi Comentar
    Tuesday, October 20, 2015

    Hola, sé que es un tema ya algo Viejo pero ojalá me puedan ayudar, tengo un grid llenado desde una base de datos, luego esos datos los puedo editar, primero lo pase a un datatable y luego hice el update, todo bien, pero tengo un error mas bien visual, cuando hago click en la opción Edit del grid me despliega el grid con la fila que seleccioné, el detalle está en la forma en que me muestra la fila, cada celda tiene un tamaño excesivo y sobrepasa el tamaño del grid a pesar de que tiene un max width, mi pregunta es, como puedo hacer que esas celdas cambien de tamaño??? Ojala me puedan ayudar u orientar

  • Eddi Comentar
    Tuesday, October 20, 2015

    Hola José, primero que nada gracias por responder tan pronto. No se cómo adjuntar la imagen y el código por alguna razón no me deja enviarlo, me podrías pasar tu correo y te lo mando??

    • JoséComentar
      Tuesday, October 20, 2015

      Mandamelo a jiestrada@live.com.mx saludos

  • Eddi Comentar
    Tuesday, October 20, 2015

    Hola José, primero que nada gracias por responder tan pronto. No se cómo adjuntar la imagen y el código por alguna razón no me deja enviarlo, me podrías pasar tu correo y te lo mando??

  • Eddi Comentar
    Tuesday, October 20, 2015

    Hola José, primero que nada gracias por responder tan pronto. No se cómo adjuntar la imagen y el código por alguna razón no me deja enviarlo, me podrías pasar tu correo y te lo mando??

  • Eddi Comentar
    Tuesday, October 20, 2015

    Hola José, primero que nada gracias por responder tan pronto. No se cómo adjuntar la imagen y el código por alguna razón no me deja enviarlo, me podrías pasar tu correo y te lo mando??

  • EDELMAN Comentar
    Thursday, March 31, 2016

    hola!! antes que nada felicitarte x tu exelente foro, te comento mi inquietud estoy realizando una aplicacion web en vb.asp 2010 referenciada a un web service, ya tengo todo lo nesezario el unico detalle que no se ni por donde empezar porque quiero eliminar,modificar y agregar informacion desde una gridview, si me hicieras llegar un ejemplo como el de arriba te lo agradeceria mil gracias de antemano y sigue adelante...!! (y)

    • José EstradaComentar
      Thursday, March 31, 2016

      EDELMAN, Unas dudas, cuando le des actualizar al grid, esta actualización la haras por medio del web service, ya tienes el web service? si quieres ayuda mandame el codigo que tienes a jiestrada@live.com.mx para apoyarte más a detalle

  • Moraes Comentar
    Sunday, March 11, 2018

    Teresa também tem filhos, seis, com seu marido.

  • Close Comentar
    Thursday, March 15, 2018

    Cho tôi h?i ? TPHCM ch? nào tr? sùi mào gà Ð?c bi?t nh?t ?? cháu ? t?n Bình Thu?n ph?i em 0 n?m rõ ch? nào ph?i chang d? di khám. AloBacsi có kh? nang ch? giúp cho cháu du?c không ?? tôi c?m on AloBacsi nhi?u . (Thanh Nhan Nguyen) AloBacsi tr? l?i: Chào b?n, trong khi tru?c , sùi mào gà du?c xem là m?t b?nh lý lành tính. th? nhung hi?n nay , các nhà k? thu?t cho r?ng trong m?t s? ví nhu, b?nh phát hi?n chi?u hu?ng tr? thành ác tính, hình thành ung thu c? t? cung ho?c c?a quý . l?a tu?i b? b?nh nhi?u nh?t là 20-25. b?nh h?c này thu?ng b?i vì 2 duyên do gây nên ra: + b?i vì ái ân nhi?m ngu?i dã và dang dính b?nh . + vì gi?t k làm s?ch s?. + b?i m?c chung d? s? h?u ngu?i dang lây mang + b?ng c?i ngu?n nu?c b?n dùng 0 ?n. c?p b?nh h?c này b?n có kh? nang xem xét và tránh t?i BV Da Li?u ho?c BV T? Du. Tùy th?i kì n?ng nh? c?a b?nh lý s? m?c bi?n pháp ngan ng?a phù h?p nhu: d?t di?n, ch?m thu?c. c?n kiên trì ngan ng?a b?nh nguy nguy hi?m s? di?u tr? kh?i, n?u d? lâu s? khó di?u tr? qua b?nh nguy nguy hi?m s? lây lan ra các khu v?c khác trên kia th? tr?ng . B?n có kh? nang giao thông các phòng khám sau d? du?c khám và ngan ng?a dúng th?i di?m nhé: BV Da Li?u TPHCM 2 Nguy?n Thông, Phu?ng 6, Qu?n 3, TPHCM ÐT: 08 3930 5995 s? di?n tho?i nóng: 0908 051 200 D?ch v? d?t l?ch h?n xét nghi?m b?nh nguy nguy hi?m 0909 100 819 Ð? k b? cò m?i d? d? khi d?n ki?m tra t?i BV Da Li?u b?n có kh? nang B? xung thêm bài vi?t sau d? ch? d?ng hon quá trình v?n d?ng. >> phác d? tham khám b?nh lý t?i BV Da Li?u TPHCM BV T? Du TPHCM 106 C?ng Qu?nh, Phu?ng Ph?m Ngu Lão, Qu?n m?t, TPHCM ÐT: 08 5404 2829 Mong r?ng vài tin t?c trên s? giúp ích cho b?n. Thân ái,

  • Chavarria Comentar
    Sunday, March 18, 2018

    certainly like your web-site however you have to check the spelling on quite a few of your posts. Many of them are rife with spelling issues and I find it very troublesome to tell the truth nevertheless I will surely come again again.

  • Gruber Comentar
    Friday, March 23, 2018

    Wow, marvelous weblog format! How long have you been running a blog for? you make blogging glance easy. The overall glance of your website is magnificent, as smartly as the content material!

  • janette Comentar
    Thursday, April 5, 2018

    Hola buen dia, tengo una duda tengo un gridview el cual lo lleno con una consulta a mi BD hasta ahí lo lleno ahora la column de stock por medio de JavaScript, ya que son solicitudes la cual tienen varios artículos entonces requiero qu dependiendo al articulo el stock cambio pero no solo para una fila si no para todas para que el usuario vea cuanto va disminuyendo. del stok.

  • Fraser Comentar
    Tuesday, April 17, 2018

    Anais da alma privada no 1Brasil.

  • Lima Comentar
    Wednesday, May 2, 2018

    No Farmacêutico, este produto custa R$ 49,59.

  • Araújo Comentar
    Friday, May 4, 2018

    Que tipo de câmera usou ? Isso é definitivamente um bom boa qualidade .

  • Schmella Comentar
    Monday, May 7, 2018

    This page certainly has all the info I needed concerning th?s subject ?nd didn't know who to ask.

  • Dominique Comentar
    Sunday, May 20, 2018

    Very soon this site will be famous among all blog users, due to it's fastidious posts

Enviame un comentario