Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ReViJa en 3 Enero 2007, 21:28 pm



Título: Como ordenar un MSFlexgrid
Publicado por: ReViJa en 3 Enero 2007, 21:28 pm
Hola compañeros, hay alguna forma de ordenar un MSFlexgrid?
Me explico un poco mas, tengo un archivo secuencial con un campo fecha pero no estan ordenadas y a mi me gustaria que se mostrasen ordenadas en el MSFlexgrid.
Se puede?

No me sirve ordenar el archivo, heee.  :P

Un saludo y feliz año.
Javier.


Título: Re: Como ordenar un MSFlexgrid
Publicado por: CeLaYa en 4 Enero 2007, 00:27 am
en un MSFlexgrid no se, pero porque mejor no usas un ListView, con la propiedad Sorted, ordenas cualquier columna



Título: Re: Como ordenar un MSFlexgrid
Publicado por: ReViJa en 4 Enero 2007, 13:59 pm
Gracias Celaya, pero queria ver si se podia con MSFlexgrid.


Título: Re: Como ordenar un MSFlexgrid
Publicado por: CeLaYa en 4 Enero 2007, 14:16 pm
Ejemplo de las propiedades Sort, TextMatrix (Control MSHFlexGrid)

El ejemplo siguiente utiliza las propiedades Sort y TextMatrix. Realiza una ordenación del control MSHFlexGrid según el valor de un control ComboBox. Para usar el ejemplo, coloque un control MSHFlexGrid y un control ComboBox en un formulario. Pegue el código siguiente en la sección Declaraciones y, a continuación, presione F5.

Nota   Si utiliza el control MSFlexGrid, sustituya "MSHFlexGrid1" por "MSFlexGrid1".

Código:
Private Sub Combo1_Click()
' Selecciona una columna según el método Sort.
Select Case Combo1.ListIndex
Case 0 To 2
MSHFlexGrid1.Col =1
Case 3 To 4
MSHFlexGrid1.Col =2
Case 4 To 8
MSHFlexGrid1.Col =1   
End Select
' Ordena según la propiedad Combo1.ListIndex.
MSHFlexGrid1.Sort =Combo1.ListIndex
End Sub
Private Sub Form_Load()
Dim i As Integer
' Llena el control MSFlexGrid con datos aleatorios.
MSHFlexGrid1.Cols =3 ' Crea tres columnas.
   
For i =1 To 11 ' Agrega diez elementos.
MSHFlexGrid1.AddItem ""
MSHFlexGrid1.Col =2
MSHFlexGrid1.TextMatrix(i, 1) =CualquierNombre(i)
MSHFlexGrid1.TextMatrix(i, 2) =Rnd()
Next i
' Llena el cuadro combinado con las opciones de orden.
With Combo1
.AddItem "flexSortNone" ' 0
.AddItem "flexSortGenericAscending" '1
.AddItem "flexSortGenericDescending" '2
.AddItem "flexSortNumericAscending" '3
.AddItem "flexSortNumericDescending" '4
.AddItem "flexSortStringNoCaseAsending" '5
.AddItem "flexSortNoCaseDescending" '6
.AddItem "flexSortStringAscending" '7
.AddItem "flexSortStringDescending" '8
.ListIndex =0
End With
End Sub
Private Function CualquierNombre(i As Integer) As String
Select Case i
Case 1
SomeName ="Ana"
Case 2
SomeName ="Carlos"
Case 3
SomeName ="Sofía"
Case 4
SomeName ="Antonio"
Case 5
SomeName ="Elena"
Case 6
SomeName ="Laura Díaz"
Case 7
SomeName ="María Del Valle"
Case 8
SomeName ="Pablo"
Case 9
SomeName ="Julia"
Case 10
SomeName ="Manuel"
Case 11
SomeName ="Ricardo"
End Select
End Function



Esto lo saque de la ayuda de VB, espero te sirva de algo


Título: Re: Como ordenar un MSFlexgrid
Publicado por: ReViJa en 4 Enero 2007, 21:45 pm
ok, gracias... examinare la propiedad sort.