La propiedad Sort del control MSFlexGrid
Publicado por MSFlexGrid Sort (2 intervenciones) el 21/07/2005 17:18:19
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
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


0