Visual Basic - La propiedad Sort del control MSFlexGrid

Life is soft - evento anual de software empresarial
 
Vista:

La propiedad Sort del control MSFlexGrid

Publicado por MSFlexGrid Sort (2 intervenciones) el 21/07/2005 10:55:09
Hola. Tengo un problema con el codigo de mas abajo. Resulta que, segun la MSDN de VB6, la propiedad "Sort", estableciendo las propiedades "ColSel" y "Col" como estan en el ejemplo, deberia ordenar las filas segun el contenido de la 1ª columna y despues el contenido de la 2ª columna.

Con esto, yo entiendo que, si en la primera columna hay 2 datos repetidos, la fila se deberia ordenar segun los datos de la 2ª columna.

Pues bien, las lineas "Me.MSFlexGrid1.TextMatrix(2, 1) = "2"" y "Me.MSFlexGrid1.TextMatrix(4, 1) = "2"" tienen el mismo dato, por lo que la fila deberia ordenarse segun la siguiente columna, pero no lo hace ya que en la siguiente columna los datos correspondientes serian la letra "H" y la letra "D" y aparece ordenado visualizando la "H" en primer lugar.

¿Alguien puede echarme una mano?

Gracias.

--------------------------------------------------------------------------------------------------------------------------

Me.MSFlexGrid1.Rows = 5: Me.MSFlexGrid1.Cols = 4

Me.MSFlexGrid1.TextMatrix(0, 0) = ""
Me.MSFlexGrid1.TextMatrix(1, 0) = "Fila 1"
Me.MSFlexGrid1.TextMatrix(2, 0) = "Fila 2"
Me.MSFlexGrid1.TextMatrix(3, 0) = "Fila 3"
Me.MSFlexGrid1.TextMatrix(4, 0) = "Fila 4"

Me.MSFlexGrid1.TextMatrix(0, 1) = "Col 1"
Me.MSFlexGrid1.TextMatrix(1, 1) = "4"
Me.MSFlexGrid1.TextMatrix(2, 1) = "2"
Me.MSFlexGrid1.TextMatrix(3, 1) = "3"
Me.MSFlexGrid1.TextMatrix(4, 1) = "2"

Me.MSFlexGrid1.TextMatrix(0, 2) = "Col 2"
Me.MSFlexGrid1.TextMatrix(1, 2) = "A"
Me.MSFlexGrid1.TextMatrix(2, 2) = "H"
Me.MSFlexGrid1.TextMatrix(3, 2) = "C"
Me.MSFlexGrid1.TextMatrix(4, 2) = "D"

Me.MSFlexGrid1.TextMatrix(0, 3) = "Col 3"
Me.MSFlexGrid1.TextMatrix(1, 3) = "AA"
Me.MSFlexGrid1.TextMatrix(2, 3) = "BB"
Me.MSFlexGrid1.TextMatrix(3, 3) = "CC"
Me.MSFlexGrid1.TextMatrix(4, 3) = "DD"

Me.MSFlexGrid1.ColSel = 2: Me.MSFlexGrid1.Col = 1
Me.MSFlexGrid1.Sort = flexSortGenericAscending
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

RE:La propiedad Sort del control MSFlexGrid

Publicado por adan (2 intervenciones) el 10/10/2008 17:36:32
responda respondan
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

RE:La propiedad Sort del control MSFlexGrid

Publicado por semperfimxl  (3 intervenciones) el 18/10/2008 22:26:49
Ver la siguiente liga
http://www.programacion.com/foros/32/msg/126484/

Si en lugar de poner la variable flexSortGenericAscending usan el valor de 1 entonces funcionará!

Enviado por semperfimxl el día 24 de junio de 2004
Aqui esta un ejemplo de como sortear columnas en el MSFlexGrid...

MSFlexGrid.Col = 1 'Desde que columna iniciar
MSFlexGrid.ColSel = 1 'Hasta que columna terminar

MSFlexGrid.Row = 1 'Primer renglon del MsFlex a sortear
MSFlexGrid.RowSel = Me.MSFlexGrid.Rows - 1 'Ultimo renglon del msflex a sortear

MSFlexGrid.Sort = flexSortStringNoCaseAscending 'metodo de sorteo deseado

Los 9 nombres (y valores) de los metodos son los siguientes:

flexSortNone (Valor 0)
flexSortGenericAscending (Valor 1)
flexSortGenericDescending (Valor 2)
flexSortNumericAscending (Valor 3)
flexSortNumericDescending (Valor 4)
flexSortStringNoCaseAsending (Valor 5)
flexSortNoCaseDescending (Valor 6)
flexSortStringAscending (Valor 7)
flexSortStringDescending (Valor 8)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

RE:La propiedad Sort del control MSFlexGrid

Publicado por adan (2 intervenciones) el 10/10/2008 17:37:01
responda respondan
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