А вдруг ! (про сортировку по колонкам в BROWSE)

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение Игорь Столяров »

Привет всем ! :)

Имею непреодолимое желание задать один старый вопрос ...
(если сказать точнее, то меня имеют пользователи, а я стараюсь как-то вывернуться). :)

В BROWSE есть прекрасная опция Enable Sort Header.
Мы щелкаем мышкой по колонке - и список сортируется по значению в этой колонке.
Всё очень хорошо, но это должны быть значения из полей просматриваемой таблицы. :(
А можно (как-то) прикрутить такое же, но по расчётной колонке ?

Например в списке у нас есть колонки СУММА и ОПЛАТА. Их разница показана в колонке ДОЛГ.
И вот совсем очень хочется, что бы можно было щелкать мышкой по шапке и сортировать список по значению в колонке ДОЛГ.

Может я изобретаю телепортатор и всё уже придумано ? ;)
Заранее спасибо за посильное воспоможение и содействие ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение gopstop2007 »

пока нашел решение с помощью доп. таблицы и memory driver
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение Игорь Столяров »

Можно сказать по другому - если некой манипуляцией засунуть расчётное значение в VIEW
по которому строится BROWSE, то мы сможем по нему сортировать LIST ... Надо думать ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение kreator »

Это фантастика. В смысле допилить этот класс. Самое интересное, что в SQL я это сделаю запросто! Я где-то уже писал, что универсальность классов (поддержка и ISAM и SQL) сильно вредит. Я порой не могу воспользоваться какими-то возможностями SQL.
Для gopstop2007. Можно поле переобозначить через prop:Name. Я правда не проверял.
PS. Замечали поведение данного поделия при наличии пустых полей в столбце? Вроде что-то сделано, а полноценно пользоваться невозможно. Хочешь-не хочешь, либо сам запиливай, либо ищи на стороне (ещё и не найдёшь).
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4550
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение finsoftrz »

Сортировать по динамически вычисляемым полям не получится по определению. Вы вначале должны получить и зафиксировать результаты в выборке, а уж потом по ним сортировать. Применительно к клариону, например, получить результат в кьюшку или in memory, а дальше сортируйте, как душе угодно. Динамически вычисляемые значения в кларионовских броузерах добавляют в приложения итерактивность, то есть позволяют видеть некоторые значения без формирования всей выборки. По ним можно фильтровать записи при про смотре, а не сортировать.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение Игорь Столяров »

Эх ! :( Через In-Memory любой Игорь может. :(
За теми кто отстал - не возвращаться. (С) Кодекс
artgkx
Бывалый
Сообщения: 58
Зарегистрирован: 25 Декабрь 2010, 12:23

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение artgkx »

Formulas - Format Browse - Result: в локальную перем. - Statement: Выражение для вычисления
Локальная перем. - колонка Browse.
Как-то так. У меня формируется строка, в которую собираются значения из нескольких полей. Наверное можно и вычислить.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение Игорь Столяров »

artgkx писал(а): 07 Февраль 2021, 12:39 У меня формируется строка
Это очень хорошо. А сортировка списка щелчком мышки на шапке колонки у Вас работает ?
За теми кто отстал - не возвращаться. (С) Кодекс
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение gopstop2007 »

Игорь Столяров писал(а): 06 Февраль 2021, 15:40 Эх ! :( Через In-Memory любой Игорь может. :(
знаю одного, который не может :D
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

А вдруг ! (про сортировку по колонкам в BROWSE)

Сообщение Игорь Столяров »

gopstop2007 писал(а): 07 Февраль 2021, 19:27 знаю одного, который не может
Обидеть художника может каждый !
Но не каждый может сказать как сделать сортировку по расчётной колонке ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить