none
Ayuda con el evento RowDataBound del GridView RRS feed

  • Pregunta

  • Buenas tengo una columna donde tengo que ingresar un numero pero este numero no debe sobre pasar los 8 digitos y controlar eso pintando en el gridview con un color rojo para que avise al usuario que hay un numero que no cumple la condicion de los 8 digitos eh investigado y eh hecho este codigo:

    If e.Row.RowType = DataControlRowType.DataRow Then
                If e.Row.Cells(0).Text.Trim.Length <> 8 Then
                    e.Row.BackColor = Drawing.Color.Red
                End If
            End If

    en el evento RowDataBound pero pasa que me pinta todo el gridview alguien por favor me podria dar una mano gracias!
    miércoles, 27 de julio de 2016 18:11

Respuestas

  • si pones un breakpoint en el codigo que valores observas estan tomando la celda que evalua?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Limpi miércoles, 27 de julio de 2016 18:44
    miércoles, 27 de julio de 2016 18:29
  • Hola Limpi,

    [-] ... quisiera saber cuales son las propiedades para solo marcar la casilla de la fila donde esta el error y solo esa casilla se marque

    Estás cambiando el color a toda la fila :

     e.Row.BackColor = Drawing.Color.Red

    Así cambiarías el color de la celda 1 (posición 0) de la fila que accedes.

       If e.Row.Cells(0).Text.Trim.Length <> 8 Then
          e.Row.Cells(0).BackColor = Drawing.Color.Red
       End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Limpi miércoles, 27 de julio de 2016 19:08
    miércoles, 27 de julio de 2016 19:06

Todas las respuestas

  • hola

    pero no deberia ser

     If e.Row.Cells(0).Text.Trim.Length > 8 Then

    o sea solo si es superior a 8 digitos que lo muestre en color

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 27 de julio de 2016 18:17
  • Hola leandro:

    el condicionante es que sea 8 digitos que no pase ni que sea menos sino si o si 8 digitos y si pasa que es menos o mayor que esa celda se pinte de color rojo

    • Editado Limpi miércoles, 27 de julio de 2016 18:19
    miércoles, 27 de julio de 2016 18:18
  • si pones un breakpoint en el codigo que valores observas estan tomando la celda que evalua?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Limpi miércoles, 27 de julio de 2016 18:44
    miércoles, 27 de julio de 2016 18:29
  • Hola leandro:

    Hice el seguimiento por el breakpoint agarrando la celda y comparando el numero efectivamente el error estaba en la condicionante ahora marca toda la fila gracias, quisiera saber cuales son las propiedades para solo marcar la casilla de la fila donde esta el error y solo esa casilla se marque?

    miércoles, 27 de julio de 2016 18:38
  • Hola Limpi,

    [-] ... quisiera saber cuales son las propiedades para solo marcar la casilla de la fila donde esta el error y solo esa casilla se marque

    Estás cambiando el color a toda la fila :

     e.Row.BackColor = Drawing.Color.Red

    Así cambiarías el color de la celda 1 (posición 0) de la fila que accedes.

       If e.Row.Cells(0).Text.Trim.Length <> 8 Then
          e.Row.Cells(0).BackColor = Drawing.Color.Red
       End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Limpi miércoles, 27 de julio de 2016 19:08
    miércoles, 27 de julio de 2016 19:06