Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/07/2012, 08:23
franciscomusico
 
Fecha de Ingreso: enero-2009
Mensajes: 201
Antigüedad: 15 años, 3 meses
Puntos: 1
Problema con gridview y columnas agregada automaticamente

buenos dias a todos

estoy haciendo por codigo una columna template. Esta columna template tiene dentro un objeto tipo hyperlink, al cual debo agregarle una imagen una url de navegacion, datos que trae de la base de datos.

Estos datos deben ser agregados automaticamente al hacerle un databind a la grilla. Pero no se como asignarle al objeto template que tenga asociados los campos en cuestion,

¿como puedo hacer esto?

El codigo que tengo es el siguiente:

Código ASP:
Ver original
  1. Dim txtColumn As New TemplateField
  2.  
  3.                     If .Item("camp_ancho") <> 0 Then
  4.                         txtColumn.ItemStyle.Width = Integer.Parse(.Item("camp_ancho"))
  5.                     End If
  6.  
  7.                     If (IsDBNull(.Item("camp_align"))) Then
  8.                         txtColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Left
  9.                     Else
  10.                         Select Case .Item("camp_align")
  11.                             Case Is = 0
  12.                                 txtColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Left
  13.                             Case Is = 1
  14.                                 txtColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center
  15.                             Case Is = 2
  16.                                 txtColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Right
  17.                         End Select
  18.                     End If
  19.  
  20.  
  21.                     txtColumn.ItemTemplate = New colImageButton(.Item("alias"))
  22.                     gvListado.Columns.Add(txtColumn)
  23.  
  24. ...
  25.  
  26.  
  27. Class colImageButton
  28.     Implements ITemplate
  29.  
  30.     Dim hl As New HyperLink
  31.     Public Sub New(ByVal url As String)
  32.         hl.NavigateUrl = url
  33.     End Sub
  34.     Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn
  35.         hl.ID = "MyTextBox"
  36.         container.Controls.Add(hl)
  37.     End Sub
  38. End Class
__________________
Francisco Birrer
Arquitecto de Software e-process
http://www.universite.cl