Ordenar arreglo de Objetos segun un campo
Publicado por Pedro (3 intervenciones) el 03/10/2008 01:00:37
Hola amigos, eh visto en el foro un ejemplo de como ordenar un arrglo de objeto, sin embargo eh tratado de realizarlo pero quisiera que me muestre de una manera especifica ya ordenada como el siguiente caso:
msCuil msNombres mdcSueldo
------------------------------------------------------------
a12 Anibal 500
A24 Raul 100
A04. Pedro 50
. - -
. - -
eh declarado lo siguiente
Public Class Empleado
'Declaracion de Atributos
Private msCuil As String
Private msNombres As String
Private mdtFechaIngreso As Date
Private mdcSueldo As Decimal
Private mdcRetenciones As Decimal ' (%)
Public Property Cuil() As String
Get
Return msCuil
End Get
Set(ByVal value As String)
msCuil = value
End Set
End Property
end class
luego habian mencionado una comparaciion para realizar el ordenamiento por nombre de la siguiente manera:
************************************************************
Public Class ComparadorEmpleado
'implementacion de la interfaz System.Collection.IComparer
Implements System.Collections.IComparer
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
'comparo que x e y, sean del tipo Empleado
If TypeOf x Is Empleado AndAlso TypeOf y Is Empleado Then
If CType(x, Empleado).Nombrel > CType(y, Empleado).Nombrel Then
Return 1
Else
'formateo el objeto x para el tipo Empleado para acceder a su miembro nombre
'y hago lo mismo con y
If CType(x, Empleado).Nombrel = CType(y, Empleado).Nombrel Then
Return 0
Else
Return -1
End If
End If
End If
End Function
End Class
Private ArrayEmpleado(10) As Empleado = new Empleado()
End module
Public Sub MostrarDatosEmpleados()
Luego donde vas a hacer el ordenamiento tenes que declarar un comparador
Dim Comparador as new ComparadorEmpleado
y llamar al metodo con este comparador
Array.Sort(Empleado, Comparador)
hasta ahi todo bien pero cuando deseeo que me pinte en consola de la manera que indique arriba no se como puedo realizar el codigo ??? agardeceré me puedan ayudar ya que soy principiante en este lenguaje.
Saludos
msCuil msNombres mdcSueldo
------------------------------------------------------------
a12 Anibal 500
A24 Raul 100
A04. Pedro 50
. - -
. - -
eh declarado lo siguiente
Public Class Empleado
'Declaracion de Atributos
Private msCuil As String
Private msNombres As String
Private mdtFechaIngreso As Date
Private mdcSueldo As Decimal
Private mdcRetenciones As Decimal ' (%)
Public Property Cuil() As String
Get
Return msCuil
End Get
Set(ByVal value As String)
msCuil = value
End Set
End Property
end class
luego habian mencionado una comparaciion para realizar el ordenamiento por nombre de la siguiente manera:
************************************************************
Public Class ComparadorEmpleado
'implementacion de la interfaz System.Collection.IComparer
Implements System.Collections.IComparer
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
'comparo que x e y, sean del tipo Empleado
If TypeOf x Is Empleado AndAlso TypeOf y Is Empleado Then
If CType(x, Empleado).Nombrel > CType(y, Empleado).Nombrel Then
Return 1
Else
'formateo el objeto x para el tipo Empleado para acceder a su miembro nombre
'y hago lo mismo con y
If CType(x, Empleado).Nombrel = CType(y, Empleado).Nombrel Then
Return 0
Else
Return -1
End If
End If
End If
End Function
End Class
Private ArrayEmpleado(10) As Empleado = new Empleado()
End module
Public Sub MostrarDatosEmpleados()
Luego donde vas a hacer el ordenamiento tenes que declarar un comparador
Dim Comparador as new ComparadorEmpleado
y llamar al metodo con este comparador
Array.Sort(Empleado, Comparador)
hasta ahi todo bien pero cuando deseeo que me pinte en consola de la manera que indique arriba no se como puedo realizar el codigo ??? agardeceré me puedan ayudar ya que soy principiante en este lenguaje.
Saludos
Valora esta pregunta


0