Tengo un WGD DataGrid, y lo tengo para que pueda ordenarlo haciendo clic en los encabezados de las columnas. Funciona, pero es inestable. ¿Cómo hago para que haga una clasificación estable?¿Cómo ordenar un DataGrid usando una clasificación estable?
Con esto quiero decir, si tengo esta tabla:
Class | Student | Grade
-----------------------------
Art | James | A
Art | Amy | B
Art | Charlie | A
Science | James | D
Science | Amy | A
Science | Charlie | C
History | James | B
History | Amy | A
History | Charlie | C
Si ordenar por estudiante, que funciona como era de esperar:
Class | Student | Grade
-----------------------------
Art | Amy | B
Science | Amy | A
History | Amy | A
Art | Charlie | A
Science | Charlie | C
History | Charlie | C
Art | James | A
Science | James | D
History | James | B
Pero si ahora ordenar por clase :
Class | Student | Grade
-----------------------------
Art | James | A
Art | Amy | B
Art | Charlie | A
History | James | B
History | Amy | A
History | Charlie | C
Science | James | D
Science | Amy | A
Science | Charlie | C
Se destruye el orden de los alumnos (clasificación inestable). Lo que quiero es la clasificación estable, donde se conserva el orden:
Class | Student | Grade
-----------------------------
Art | Amy | B
Art | Charlie | A
Art | James | A
History | Amy | A
History | Charlie | C
History | James | B
Science | Amy | A
Science | Charlie | C
Science | James | D
parece que debería funciona de esta manera predeterminada, o al menos ser un conmutador. ¿Alguien tiene alguna sugerencia? La idea de @Eirik de hacer clic de mayúsculas funciona, y eso muestra que el comportamiento está presente. Sin embargo, lo que realmente me gustaría es que funcione así sin ningún modificador. No debería ser una causa de "ordenar por esto, luego esto, luego esto", debería ser el caso de cambiar el algoritmo por uno diferente.
ver esto: http://en.wikipedia.org/wiki/Sorting_algorithm#Stability
¿Está buscando una forma de hacer esto en el código subyacente, o esperando que alguien sepa cómo hacer que el comportamiento por clic de cambio sea el comportamiento predeterminado? – Grubsnik
@Grubsnik Esperaba que alguien supiera cómo cambiar el algoritmo de ordenamiento, porque creo que el enfoque de cambio de clic es un gran truco. Sin embargo, hace el trabajo. – TarkaDaal