TLDR :Почему предложения group by отключены при поиске, если поле, использующее поиск, не пусто?
Я хочу сделать пользовательский поиск в поле в форме. Таблица CTable
выглядит так:
Val Spec
------------
A alpha
A beta
A gamma
B delta
C epsilon
Поиск касается только столбца Val
, который определяется с помощью EDT с базовым отношением к нему :Val == CTable.Val
. Поиск, очевидно, дает мне такой список:
A
A
A
B
C
Давайте в группу, чтобы избавиться от всех дублированных As, подумал я! Что-то вроде:
QueryBuildDataSource.orderMode(OrderMode::GroupBy);
QueryBuildDataSource.addGroupByField(fieldNum(CTable, Val));
Теперь о странном поведении, которое у меня есть, и о сути моего вопроса. На пустом поле группа по выполняется правильно и я получаю это:
A
B
C
Теперь давайте выберем «A» в поиске, затем снова выполним поиск , потому что вместо этого я хотел щелкнуть «B». Группа по теперь отключена по неизвестным причинам, и я получаю те же результаты поиска, что и раньше.
Почему это так? Как я могу преодолеть это?