Lista de objetos Visual Basic



Hola amigos, aquí les dejo como crear una lista de objetos en Visual Basic .Net

Lo primero que necesitamos es una clase, aquí tengo una de ejemplo:

Public Class Persona
    Dim _IdPersona As Integer

    Public Property IdPersona As Integer
        Get
            Return _IdPersona
        End Get
        Set(value As Integer)
            _IdPersona = value
        End Set
    End Property

    Dim _Nombre As String = ""
    Public Property Nombre As String
        Get
            Return _Nombre
        End Get
        Set(value As String)
            _Nombre = value
        End Set
    End Property
    Dim _Apellidos As String = ""
    Public Property Apellidos As String
        Get
            Return _Apellidos
        End Get
        Set(value As String)
            _Apellidos = value
        End Set
    End Property
    Dim _FechaNac As System.DateTime = DateTime.Now
    Public Property FechaNac As System.DateTime
        Get
            Return _FechaNac
        End Get
        Set(value As System.DateTime)
            _FechaNac = value
        End Set
    End Property
    Dim _CURP As String = ""
    Public Property CURP As String
        Get
            Return _CURP
        End Get
        Set(value As String)
            _CURP = value
        End Set
    End Property
End Class

Lo que sigue es bastante simple:

''Crear una persona
Dim persona1 As New Persona
persona1.IdPersona = 0
persona1.Nombre = "Benito"
persona1.Apellidos = "Juarez Garcia"
persona1.FechaNac = New System.DateTime(1806, 3, 21)
persona1.CURP = ""
''Crear otra persona
Dim persona2 As New Persona
persona2.IdPersona = 1
persona2.Nombre = "Emiliano"
persona2.Apellidos = "Zapata Salazar"
persona2.FechaNac = New System.DateTime(1879, 8, 8)
persona2.CURP = ""
''Creamos una lista de objetos tipo Persona
Dim listaDepersonas As New List(Of Persona)
''Agregamos las personas al listado
listaDepersonas.Add(persona1)
listaDepersonas.Add(persona2)

Podemos mostrar los items en un ListView:

With ListView1
     .Clear()
     .View = View.Details
     .GridLines = True
     .FullRowSelect = True
     .Columns.Add("Id persona", 80, HorizontalAlignment.Left)
     .Columns.Add("Nombre completo", 150, HorizontalAlignment.Left)
     .Columns.Add("CURP", 80, HorizontalAlignment.Right)
     .Columns.Add("Fecha Nac", 80, HorizontalAlignment.Right)
     .Items.Clear()
     ''Declaramos un contador
     Dim i As Integer = 0
     ''Recorremos el listado con un "For Each"
     For Each itemPersona As Persona In listaDepersonas
         .Items.Add(itemPersona.IdPersona)
         .Items(i).SubItems.Add(String.Format("{0} {1}", _
             itemPersona.Nombre, itemPersona.Apellidos))
         .Items(i).SubItems.Add(String.Format("{0}", _
             itemPersona.CURP))
         .Items(i).SubItems.Add(String.Format("{0:dd/MM/yyyy}", _
             itemPersona.FechaNac))
         i += 1
     Next
End With

¡Listo!

No hay comentarios:

Publicar un comentario