ASP.NET - Agregar TemplateField dinamicamente

   
Vista:

Agregar TemplateField dinamicamente

Publicado por Oswaldo (9 intervenciones) el 23/10/2008 20:01:15
Hola a todos,
Cuando uqiero agregar una columna desde el programación de VB .Net a un grid y ligarla a un dataset utilizo el siguiente códico:

Dim bfNombre As BoundField = New BoundField
bfNombre.DataField = "Campo"
bfNombre.HeaderText = "Encabezado"
gvListaAsistencia.Columns.Add(bfNombre)

En el mismo grid necesito agregar un TemplateField el cual consta de un checkbox en el encabezado y otro en el cuerpo del grid, si lo hago desde el diseño no tengo problemas para hacerlo, y lo tengo con el siguiente código ASP .Net

<Columns>
<asp:TemplateField HeaderStyle-BorderWidth="3">
<HeaderTemplate>
<asp:CheckBox id="chkTodos" runat="server" AutoPostBack="true" OnCheckedChanged="chkTodos_CheckedChanged" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="chkSeleccion" runat="server" Checked ='<%# Bind("Activo") %>' AutoPostBack="true" OnCheckedChanged ="chkSeleccion_CheckedChanged" />
<asp:Label ID="lblUsuario" runat="server" Text='<%# Bind("Nombre") %>' Visible="false"></asp:Label>
</ItemTemplate>
<Columns>

pero para realizar algunas operaciones extra durante la ejecución necesito crear la columna y agregarla en tiempo de ejecución con un código parecido al de "Dim bfNombre As BoundField = New BoundField"

Lo he intentado con el siguiente código pero me marca el error "No se puede convertir un objeto de tipo 'System.Web.UI.WebControls.CheckBox' al tipo 'System.Web.UI.ITemplate'.":

Dim chkTodos As CheckBox = New CheckBox
chkTodos.AutoPostBack = True

Dim chkSeleccion As CheckBox = New CheckBox
chkSeleccion.AutoPostBack = True

Dim tmpField As TemplateField = New TemplateField
tmpField.HeaderTemplate = chkTodos
tmpField.ItemTemplate = chkSeleccion

gvListaAsistencia.Columns.Add(tmpField)

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Agregar TemplateField dinamicamente

Publicado por ariel (1 intervención) el 31/12/2011 17:32:43
si lo graste resolver este problema te pido que me expliques por favor, yo tengo el mismo problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar