Foros del Web » Programando para Internet » ASPX (.net) »

Cambiar imagen de celda en GridView

Estas en el tema de Cambiar imagen de celda en GridView en el foro de ASPX (.net) en Foros del Web. Hola a todos. Como puedo cambiar la imagen de una celda de un GridView o eliminarla/ocultarla? no quiero que aparezca dependiendo del valor de unas ...
  #1 (permalink)  
Antiguo 23/01/2012, 11:22
 
Fecha de Ingreso: mayo-2011
Mensajes: 36
Antigüedad: 12 años, 11 meses
Puntos: 0
Pregunta Cambiar imagen de celda en GridView

Hola a todos.

Como puedo cambiar la imagen de una celda de un GridView o eliminarla/ocultarla? no quiero que aparezca dependiendo del valor de unas celdas :D

Tengo ImagenButton:

Código:
<Columns>
        <asp:ButtonField ButtonType="Image" CommandName="descargar" 
         ImageUrl="~/Imagenes/descargar.png" />
</Columns>
Se que hay que hacerlo en el evento RowDataBound, pero nose como :D

Código:
Protected Sub grid_tareas_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grid_tareas.RowDataBound

For Each row2 As GridViewRow In grid_tareas.Rows

    fecha = CStr(row2.Cells(9).Text)
    If (fecha2 = String.Empty) Then
           ????
    End If
Next
El ButtonImage esta en la celda 1 por ejemplo

Saludos

Última edición por chino_black; 23/01/2012 a las 11:30
  #2 (permalink)  
Antiguo 23/01/2012, 12:18
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 5 meses
Puntos: 27
Respuesta: Cambiar imagen de celda en GridView

Bien, aquí te dejo una forma en la que puedes hacerlo (código C#)

Código ASP:
Ver original
  1. if (e.Row.RowType == DataControlRowType.DataRow)
  2. {
  3.        if (e.Row.Cells[1].Text == "")//Considerando que esta es la celda evaluada
  4.        {
  5.            e.Row.Cells[4].Enabled = false;//Esta es la celda que se va a ocultar / deshabilitar
  6.        }  
  7. }

Y si mi traducción es buena, en VB sería esto:
Código vb:
Ver original
  1. If e.Row.RowType = DataControlRowType.DataRow Then
  2.     If e.Row.Cells(1).Text = "" Then
  3.         'Considerando que esta es la celda evaluada
  4.         e.Row.Cells(4).Enabled = False'Esta es la celda que se va a ocultar / deshabilitar
  5.     End If
  6. End If

Probá y si hay alguna corrección en el código VB o no te funciona nos avisas. Y considero que si te funciona, compartieras la porción de código final.

Saludos...
  #3 (permalink)  
Antiguo 23/01/2012, 12:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 36
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Cambiar imagen de celda en GridView

Cita:
Iniciado por AWesker Ver Mensaje
Bien, aquí te dejo una forma en la que puedes hacerlo (código C#)

Código ASP:
Ver original
  1. if (e.Row.RowType == DataControlRowType.DataRow)
  2. {
  3.        if (e.Row.Cells[1].Text == "")//Considerando que esta es la celda evaluada
  4.        {
  5.            e.Row.Cells[4].Enabled = false;//Esta es la celda que se va a ocultar / deshabilitar
  6.        }  
  7. }

Y si mi traducción es buena, en VB sería esto:
Código vb:
Ver original
  1. If e.Row.RowType = DataControlRowType.DataRow Then
  2.     If e.Row.Cells(1).Text = "" Then
  3.         'Considerando que esta es la celda evaluada
  4.         e.Row.Cells(4).Enabled = False'Esta es la celda que se va a ocultar / deshabilitar
  5.     End If
  6. End If

Probá y si hay alguna corrección en el código VB o no te funciona nos avisas. Y considero que si te funciona, compartieras la porción de código final.

Saludos...

Gracias por responder

Mira yo la puse invisible "Visible = False", pero el contenido del GridView se corrio. Y al ponerla "Enable = False" no sucedio nada :D



Última edición por chino_black; 23/01/2012 a las 12:46
  #4 (permalink)  
Antiguo 23/01/2012, 13:49
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 5 meses
Puntos: 27
Respuesta: Cambiar imagen de celda en GridView

Acabo de probar con Enabled = false y me funciona bien. Siempre se ve la imágen pero el puntero que aparece es el dafault en lugar del pointer. Quizá si posteas la porción de código podemos ver dónde se puede corregir.
  #5 (permalink)  
Antiguo 23/01/2012, 17:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 36
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Cambiar imagen de celda en GridView

Oka tengo esto.

Código:
For Each row2 As GridViewRow In grid_tareas.Rows

fecha2 = CStr(row2.Cells(15).Text.ToString)

If (fecha2.Length < 7) Then
      row2.Cells(5).Enabled = False
      row2.Cells(5).BackColor = Drawing.Color.DarkRed
End if

Next

Lo probe con un ButtonType="Button" y ahí si funciona. pero en un ButtonType="Image" no funciona??

Código:
<asp:ButtonField ButtonType="Button" CommandName="ver" Text="Ver"/>

<asp:ButtonField ButtonType="Image" CommandName="descargar" ImageUrl="~/Imagenes/descargar.png" />
Saludos.
  #6 (permalink)  
Antiguo 23/01/2012, 18:17
 
Fecha de Ingreso: mayo-2011
Mensajes: 36
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Cambiar imagen de celda en GridView

Ya lo solucione por si a alguien le sirve en ves de poner invisible la celda, elimine el contro que contenia la celda

Código:
row2.Cells(5).Controls.Clear()

Saludos.

Etiquetas: asp, celda, control, gridview
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:21.