Пользовательский поиск и группировка по

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». Группа по теперь отключена по неизвестным причинам, и я получаю те же результаты поиска, что и раньше.

Почему это так? Как я могу преодолеть это?

6
задан Max 12 July 2012 в 14:12
поделиться