Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 25-mar-2008, 11:23   #1 (permalink)
danybarco ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 148
Pregunta Acceso a elementos del HeaderTemplate en Datalist

Pues eso, estoy intentando acceder a elementos que tengo dentro del headertemplate de un datalist pero no encuentro la forma. En concreto quiero cambiar el src de un elemento img que me ordena el datalist ascendente o descendente, en funcion de la ordenacion mostrara un icono u otro.
__________________
Moitas Gracias desde Galiza!!!
danybarco está desconectado   Responder Citando
Antiguo 26-mar-2008, 01:15   #2 (permalink)
Bravenap está en el buen camino
 
Avatar de Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 1.903
Enviar un mensaje por Skype™ a Bravenap
Re: Acceso a elementos del HeaderTemplate en Datalist

La plantilla de cabecera de una datalist es el control de índice 0 en la colección de controles, por lo que yo lo que hago es recorrer los controles contenidos en el control 0 y comprobar si es el que quiero modificar. Por ejemplo:

Código PHP:
For Each c As Control In Me.dlMiLista.Controls(0).Controls
  Select 
Case c.ID
    
Case "imgFlechaOrden"
      
Dim img As Image CType(cImage)
      
img.ImageUrl ruta
  End Select
Next 
Me imagino que también puede funcionar si buscas directamente el control con FindControl() dentro de Me.dlMiLista.Controls(0).

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
Bravenap está desconectado   Responder Citando
Antiguo 26-mar-2008, 03:06   #3 (permalink)
danybarco ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 148
Re: Acceso a elementos del HeaderTemplate en Datalist

Pues creo que no va, lo he intentado como me has dicho, y nada. tambien he cambiado el tipo de objeto en el codigo ya que usaba un img y no un asp:image, tambien al reves, es decir, dejando tu codigo y poniendo un asp:image.

He tratado tb de encontrar el control con el findcontrol directamente y me da un error al intentar referenciar el control, ya que no lo debe encontrar.
__________________
Moitas Gracias desde Galiza!!!
danybarco está desconectado   Responder Citando
Antiguo 26-mar-2008, 05:32   #4 (permalink)
Bravenap está en el buen camino
 
Avatar de Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 1.903
Enviar un mensaje por Skype™ a Bravenap
Re: Acceso a elementos del HeaderTemplate en Datalist

Comprueba que está de esta manera:

Código:
<asp:DataList ID="dlMiLista" Runat="server" ...>
<HeaderTemplate>
<asp:Image id="imgFlechaOrden" ImageUrl="~/imagen/flechaArriba.gif" Runat="server"></asp:Image>
</HeaderTemplate>
....
</asp:DataList>
Código PHP:
If Me.dlMiLista.Controls(0).FindControl("imgFlechaOrden"Is Nothing Then
  Dim img 
As Image CType(Me.dlMiLista.Controls(0).FindControl("imgFlechaOrden"), System.Web.UI.WebControls.Image)
  
img.ImageUrl Iif(img.ImageUrl.IndexOf("Arriba") = -1img.ImageUrl.Replace("Abajo","Arriba"), img.ImageUrl.Replace("Arriba","Abajo"))
End If 
Con la primera condición verificas que el control imgFlechaOrden realmente existe en la cabecera (índice 0 del DataList) y no te dará error en caso de que no lo encuentre (tampoco te lo cambiará, lógicamente).

Para verificar que efectivamente la cabecera está en el índice 0 del DataList puedes hacer esto:
Código PHP:
For As Integer 0 To Me.dlMiLista.Controls.Count -1
  Response
.Write(Me.dlMiLista.Controls(i).GetType.Name " - " Me.dlMiLista.Controls(i).ID "<br>")
Next 
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
Bravenap está desconectado   Responder Citando
Antiguo 26-mar-2008, 06:33   #5 (permalink)
danybarco ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 148
Re: Acceso a elementos del HeaderTemplate en Datalist

Ok, con esto funciono, salvo por un detalle, al comprobar si existe o no el objeto debemos poner:
If Not (Condicion) Is Nothing Then

Muchas gracias por la ayuda
__________________
Moitas Gracias desde Galiza!!!
danybarco está desconectado   Responder Citando
Antiguo 26-mar-2008, 06:55   #6 (permalink)
Bravenap está en el buen camino
 
Avatar de Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 1.903
Enviar un mensaje por Skype™ a Bravenap
Re: Acceso a elementos del HeaderTemplate en Datalist

Es verdad, siempre me como el Not
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
Bravenap está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:38.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93