Foros del Web » Programación para mayores de 30 ;) » .NET »

Recorrer checkbox y RadioButtons creados dinamicamente

Estas en el tema de Recorrer checkbox y RadioButtons creados dinamicamente en el foro de .NET en Foros del Web. Hola, Tengo un grupo de chekBox que creo dinamicamente según una base de datos, al frente de estos checkbox, creo dos radiobuttons dinamicos contenidos en ...
  #1 (permalink)  
Antiguo 15/12/2012, 16:02
Avatar de Lerolero  
Fecha de Ingreso: junio-2012
Mensajes: 18
Antigüedad: 11 años, 11 meses
Puntos: 0
Recorrer checkbox y RadioButtons creados dinamicamente

Hola,

Tengo un grupo de chekBox que creo dinamicamente según una base de datos, al frente de estos checkbox, creo dos radiobuttons dinamicos contenidos en un panel.
ejemplo:

PRUEBAS APROBADO NOAPROBADO
---CHK--- ---OPT_A--- ---OPT_B---
---CHK--- ---OPT_A--- ---OPT_B---

Este es el codigo:
Código vb:
Ver original
  1. 'Crear checkbox dinamicamente
  2.    Public Sub CrearCasillas()
  3.         Dim Consulta As String
  4.         Dim ds As New DataSet
  5.         Consulta = "SELECT * FROM AUTORIZACION_TAB"
  6.         Try
  7.             'Se ejecuta la consulta
  8.            ADONet_Query(ds, Consulta)
  9.  
  10.             Dim k As Integer = 1
  11.             'Se recorren los datos de la consulta
  12.            For i = 0 To ds.Tables(0).Columns.Count - 1 Step 1
  13.                 'Se devuelve una cadena con determinado 7 caracteres
  14.                Dim titulocampo As String = Mid(ds.Tables(0).Columns(i).ColumnName, 1, 7)
  15.                 'Si la cadena devuelta es igual a PRUEBA_
  16.                If titulocampo = "PRUEBA_" Then
  17.                     'Se extraen los 7 primeros caracters de la cadena
  18.                    Dim nombre As String = ds.Tables(0).Columns(i).ToString.Remove(0, 7)
  19.                     'Se crea el checkbox
  20.                    Dim chk_pruebas = New CheckBox
  21.                     Dim opt_aprobado = New RadioButton
  22.                     Dim opt_noaprobado = New RadioButton
  23.                     Dim panel_opt = New Panel
  24.                     Dim panel_chk = New Panel
  25.                     'Se establecen propiedades por defecto
  26.                    With chk_pruebas
  27.                         .Text = nombre
  28.                         .Name = "chk_" + nombre
  29.                         .Size = New System.Drawing.Size(200, 17)
  30.                         .Font = New System.Drawing.Font("Arial", 8, FontStyle.Bold)
  31.                         .Location = New System.Drawing.Point(34, 10)
  32.                     End With
  33.  
  34.                     'Se establecen propiedades por defecto
  35.                    With opt_aprobado
  36.                         .Text = nombre
  37.                         .Name = "opt_aprobado_" + nombre
  38.                         .Enabled = False
  39.                         .Size = New System.Drawing.Size(17, 16)
  40.                         .Location = New System.Drawing.Point(34, 10)
  41.                     End With
  42.  
  43.                     'Se establecen propiedades por defecto
  44.                    With opt_noaprobado
  45.                         .Text = nombre
  46.                         .Name = "opt_noaprobado_" + nombre
  47.                         .Enabled = False
  48.                         .Size = New System.Drawing.Size(17, 16)
  49.                         .Location = New System.Drawing.Point(150, 10)
  50.                     End With
  51.  
  52.                     With panel_chk
  53.                         .Name = "panel_" + nombre
  54.                         .BackColor = Color.PapayaWhip
  55.                         .BorderStyle = BorderStyle.Fixed3D
  56.                         .Size = New System.Drawing.Size(285, 37)
  57.                         .Location = New System.Drawing.Point(0, k * 32)
  58.                         .Controls.Add(chk_pruebas)
  59.  
  60.                     End With
  61.  
  62.                     With panel_opt
  63.                         .Name = "panel_" + nombre
  64.                         .BackColor = Color.PapayaWhip
  65.                         .BorderStyle = BorderStyle.Fixed3D
  66.                         .Size = New System.Drawing.Size(233, 37)
  67.                         .Location = New System.Drawing.Point(0, k * 32)
  68.                         .Controls.Add(opt_aprobado)
  69.                         .Controls.Add(opt_noaprobado)
  70.                     End With
  71.  
  72.                     k += 1
  73.                     'Se adiccionan los checkbox al panel
  74.  
  75.                     Me.panel_check.Controls.Add(panel_chk)
  76.                     Me.panel_controles.Controls.Add(panel_opt)
  77.                     'Se crea un evento delegado cada de chk_pruebas cada vez que un chekbox cambie
  78.                    AddHandler chk_pruebas.CheckedChanged, AddressOf CheckBox_CheckedChanged
  79.                 End If
  80.             Next i
  81.         Catch ex As Exception
  82.             MsgBox(ex.Message)
  83.         End Try
  84.  
  85.     End Sub


Accedo a los checkBox de la siguiente forma:
Código vb:
Ver original
  1. Private Sub CheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
  2.         'Se crea objeto que hereda todos los chekbox
  3.        Dim checkBox As CheckBox = TryCast(sender, CheckBox)
  4.         'Se muestra si el checkbox esta chekqueado o no
  5.        If checkBox IsNot Nothing Then
  6.             Dim titulochk As String = checkBox.Name.Remove(0, 4)
  7.            
  8.            
  9.             'opt_botones.Enabled = True
  10.            ' MessageBox.Show(checkBox.CheckState)
  11.            MessageBox.Show(titulochk)
  12.         End If
  13.     End Sub

Lo que quiero hacer es que cuando los checkbox se activen, se coloque la propiedad de los radiobuttons enabled = true y si se desactivan de nuevo en false. Y tambien recorrerlos para guardar en la base de datos

Espero me haya hecho entender...
  #2 (permalink)  
Antiguo 17/12/2012, 08:30
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Recorrer checkbox y RadioButtons creados dinamicamente

Hola Lerolero, así como creas tus eventos a un control creado :
Código vb:
Ver original
  1. AddHandler chk_pruebas.CheckedChanged, AddressOf CheckBox_CheckedChanged
Puedes crearle el evento a un control por su nombre :
Código vb:
Ver original
  1. AddHandler Me.Controls("panel_"+ nombre).CheckedChanged, AddressOf CheckBox_CheckedChanged
De esta manera puedes llamar a los controles creados dinámicamente. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: checkbox, dinamicamente, net, radiobuttons
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 00:30.