Visual Basic.NET - llenar un combobox desde una clase

 
Vista:
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

llenar un combobox desde una clase

Publicado por melqui (242 intervenciones) el 22/04/2020 05:03:44
hola,
estoy con dificultad de llamar una lista desde una clase y llenar en un combobox
en mi clase Class_Estado

tengo una lista la lista
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
Public Sub LISTA_ESTADOS()
    Dim Lista = New ArrayList()
    Dim Lista_Estados As New List(Of String)()
 
    With Lista_Estados
        .Add("RO")
        .Add("AC")
        .Add("AM")
        .Add("RR")
        .Add("PA")
        .Add("AP")
        .Add("TO")
        .Add("MA")
        .Add("PI")
        .Add("CE")
        .Add("RN")
        .Add("PB")
        .Add("PE")
        .Add("AL")
        .Add("SE")
        .Add("BA")
        .Add("MG")
        .Add("ES")
        .Add("RJ")
        .Add("SP")
        .Add("PR")
        .Add("SC")
        .Add("RS")
        .Add("MS")
        .Add("MT")
        .Add("GO")
        .Add("DF")
    End With


y en mi combobox estoy llamando asi combobox.source, mas no me esta saliendo el retorno alguna idea que puedas compartir de como poder llenar un combobox desde una clase?
desd ya les agradezco.
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

llenar un combobox desde una clase

Publicado por Phil Rob (1554 intervenciones) el 22/04/2020 11:14:26
Hola,

No este es exactamente la repuesta a tu pregunta pero solamente un idea ...

Si utilizas un DataTable a lugar de List() y ArrayList, este sera facile de llenar ListBox, ComboBox, DataGridView, ..., con la Propiedad DataSource.

Ejemplo :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Dim MiTabla As New DataTable
' ... ... ...
MiTabla.Name = "Lista_Estados"
MiTabla.Columns.Add("MiSolaColumna")  ' "MiSolaColumna" es el nombre de la columna
' ... ... ...
' ... ... ...
MiTabla.Rows.Add("RO")
MiTabla.Rows.Add("AC")
MiTabla.Rows.Add("AM")
' ... ... ...
' ... ... ...
UnComboBox.DataSource = MiTabla
UnComboBox.DisplayMember = "MiSolaColumna"
' ... ... ...
' ... ... ...
UnListBox.DataSource = MiTabla
UnListBox.DisplayMember = "MiSolaColumna"
' ... ... ...
' ... ... ...
UnDataGridView.DataSource = MiTabla
' ... ... ...
UnTextBox.DataBindings.Add("Text", MiTabla, "MiSolaColumna") '
' ... ... ...
' ... ... ...

Espero que este te ayudar ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

llenar un combobox desde una clase

Publicado por melqui (242 intervenciones) el 22/04/2020 13:55:35
gracias Phil Rob,

no fue lo que necesitaba mas ya me dio una idea, de como trabajar no lembre del datetable, es que yo no queria crear una tabla solo para una coluna, mas el ejemplo que tu me pasaste ya es suficiente para usar dentro de un module.
fuerte abrazo.
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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

llenar un combobox desde una clase

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 23/04/2020 06:36:36
Lo que pretendes es facil de resolver y con las listas es mucho mas eficiente.

Pasos:
1. Creas una clase

1
2
3
4
public class Estado
{
    public string NombreEstado { get; set; }
}

2.- Un método para cargar tus datos, si es que no lo tienes en una tabla

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
private List<Estado> CargarDatos()
{
    List<Estado> listaEstado = new List<Estado>();
 
    listaEstado.Add(new Estado() { NombreEstado = "RO" });
    listaEstado.Add(new Estado() { NombreEstado = "AC" });
    listaEstado.Add(new Estado() { NombreEstado = "AM" });
    listaEstado.Add(new Estado() { NombreEstado = "RR" });
    listaEstado.Add(new Estado() { NombreEstado = "PA" });
    listaEstado.Add(new Estado() { NombreEstado = "AP" });
    listaEstado.Add(new Estado() { NombreEstado = "TO" });
    listaEstado.Add(new Estado() { NombreEstado = "MA" });
    listaEstado.Add(new Estado() { NombreEstado = "PI" });
    listaEstado.Add(new Estado() { NombreEstado = "CE" });
    listaEstado.Add(new Estado() { NombreEstado = "RN" });
    listaEstado.Add(new Estado() { NombreEstado = "PB" });
    listaEstado.Add(new Estado() { NombreEstado = "PE" });
    listaEstado.Add(new Estado() { NombreEstado = "AL" });
    listaEstado.Add(new Estado() { NombreEstado = "SE" });
    listaEstado.Add(new Estado() { NombreEstado = "BA" });
    listaEstado.Add(new Estado() { NombreEstado = "MG" });
    listaEstado.Add(new Estado() { NombreEstado = "ES" });
    listaEstado.Add(new Estado() { NombreEstado = "RJ" });
    listaEstado.Add(new Estado() { NombreEstado = "SP" });
    listaEstado.Add(new Estado() { NombreEstado = "PR" });
    listaEstado.Add(new Estado() { NombreEstado = "SC" });
    listaEstado.Add(new Estado() { NombreEstado = "RS" });
    listaEstado.Add(new Estado() { NombreEstado = "MS" });
    listaEstado.Add(new Estado() { NombreEstado = "MT" });
    listaEstado.Add(new Estado() { NombreEstado = "GO" });
    listaEstado.Add(new Estado() { NombreEstado = "DF" });
 
    return listaEstado;
}

3.- Mostrar los datos en el combobox

1
2
3
4
5
private void Form1_Load(object sender, EventArgs e)
{
    comboBox1.DataSource = CargarDatos();
    comboBox1.DisplayMember = "NombreEstado";
}

Listo, eso sería todo.

IMPORTANTE: No se que paradigma estés usando, ni que arquitectura, pero leyendo tu comentario dices Module, pues mi estimado amigo VB.NET es un lenguaje OO, por lo tanto así hay que emplearlo, olvídate de los Modules.

Saludos cordiales,



LlenarCombo
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