none
crear checkbox en un formalario con los datos de una tabla (datatable) RRS feed

  • Pregunta

  • Tengo un formulario ESTUDIANTES_FORM

    tengo una table Documentos_Tabla

    Num   Decripcion

      1      Vacunas

      2      Solicitud Admision

    lo que quiero es que cuando ESTUDIANTES_FORM LOAD me cree checkbox con los datos de documentos_table

    en este caso serian 2 checkbox uno vacunas y el otro solicitud admission y quisiera que la propiedad text de esos checkbox fuera presicamente la descripcion y la propiedad name fuera chk y el nombre de la descripcion, gracias, si es que eso es posible

    martes, 28 de noviembre de 2017 13:03

Respuestas

  • Te recomiendo arrastrar un contenedor de tipo Panel al diseñador para contener los controles generados, considera configurar la propiedad AutoScroll, del control de tipo Panel, en True.

    Asumiendo que la variable 'Documentos_Tabla' es de tipo DataTable

    For i = 0 To Documentos_Tabla.Rows.Count - 1
    	Dim _CheckBox As New CheckBox
    
    	Dim Row = Documentos_Tabla(i)
    	_CheckBox.Name = $"chk_{Row("Descripcion").ToString().Replace(" ", "_")}"
    	_CheckBox.Text = Row("Descripcion").ToString()
    	_CheckBox.Location = New Point(0, 0 + (20 * i))
    
    	Me.Panel1.Controls.Add(_CheckBox)
    Next

    Sin embargo, ¿no te viene mejor utilizar el control de tipo 'CheckedListBox'?

    CType(CheckedListBox1, ListBox).DataSource = Documentos_Tabla
    CType(CheckedListBox1, ListBox).DisplayMember = "Descripcion"
    CType(CheckedListBox1, ListBox).ValueMember = "Num"

    • Propuesto como respuesta Pablo Rubio martes, 28 de noviembre de 2017 15:55
    • Marcado como respuesta Efrain Diaz martes, 28 de noviembre de 2017 17:48
    martes, 28 de noviembre de 2017 14:17

Todas las respuestas

  • hola efrain 

    pues en el form load cargas en un dataTable Documentos_Tabla y luego asignar cada checkbox asignarle la columna correspondiente a lo que requieres con un select de el dataTable que cargaste

    DataRow[] resultado = tutable.Select("Vacuna = "+CantidadoVacunas+"SolicitudAdmision = 'S'")

    creo que eso entendí de tu pregunta. ;)

    martes, 28 de noviembre de 2017 13:46
  • Gracias por contester pero eso no fue exactamento lo que busco
    martes, 28 de noviembre de 2017 13:58
  • Te recomiendo arrastrar un contenedor de tipo Panel al diseñador para contener los controles generados, considera configurar la propiedad AutoScroll, del control de tipo Panel, en True.

    Asumiendo que la variable 'Documentos_Tabla' es de tipo DataTable

    For i = 0 To Documentos_Tabla.Rows.Count - 1
    	Dim _CheckBox As New CheckBox
    
    	Dim Row = Documentos_Tabla(i)
    	_CheckBox.Name = $"chk_{Row("Descripcion").ToString().Replace(" ", "_")}"
    	_CheckBox.Text = Row("Descripcion").ToString()
    	_CheckBox.Location = New Point(0, 0 + (20 * i))
    
    	Me.Panel1.Controls.Add(_CheckBox)
    Next

    Sin embargo, ¿no te viene mejor utilizar el control de tipo 'CheckedListBox'?

    CType(CheckedListBox1, ListBox).DataSource = Documentos_Tabla
    CType(CheckedListBox1, ListBox).DisplayMember = "Descripcion"
    CType(CheckedListBox1, ListBox).ValueMember = "Num"

    • Propuesto como respuesta Pablo Rubio martes, 28 de noviembre de 2017 15:55
    • Marcado como respuesta Efrain Diaz martes, 28 de noviembre de 2017 17:48
    martes, 28 de noviembre de 2017 14:17