TLDR: ¿Por qué las cláusulas group by están deshabilitadas en las búsquedas cuando el campo que utiliza la búsqueda no está vacío?Búsqueda personalizada y grupo Por
Quiero hacer una búsqueda personalizada en un campo de un formulario. La tabla CTable
se ve así:
Val Spec
------------
A alpha
A beta
A gamma
B delta
C epsilon
El mirar hacia arriba sólo se refiere a la columna de la Val
que se define utilizando un EDT con una relación básica en él: Val == CTable.Val
Las operaciones de búsqueda, obviamente, me da una lista como esta:
A
A
A
B
C
Vamos a un grupo para deshacerse de todos los duplicados Como, pensé! Algo a lo largo de las líneas de:
QueryBuildDataSource.orderMode(OrderMode::GroupBy);
QueryBuildDataSource.addGroupByField(fieldNum(CTable, Val));
Ahora viene el extraño comportamiento que tengo y el punto real de mi pregunta. En un campo vacío, el grupo de se ejecuta correctamente y me sale esto:
A
B
C
Ahora vamos a seleccionar "A" en la búsqueda, a continuación, realizar la búsqueda nuevo porque quería hacer clic en "B" en vez . El grupo por ahora está desactivado por razones desconocidas y obtengo los mismos resultados de búsqueda que tenía antes.
¿Por qué es así? ¿Cómo puedo superar eso?
Tenga en cuenta que [las respuestas solo de enlace] (http://meta.stackoverflow.com/tags/link-only-answers/info) no se recomiendan, por lo que las respuestas deberían ser el punto final de una búsqueda de una solución (vs. otra escala más de referencias, que tienden a quedar obsoletas en el tiempo). Considere agregar una sinopsis independiente aquí, manteniendo el enlace como referencia. – kleopatra