Сортировка по заголовкам полей броуза - как поймать?

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Гость

Сообщение Гость »

Привет!

Clarion6-ABC. Подскажите, когда в browse используется sort headers - т.е. список записей можно сортировать по полям, кликая мышом по их заголовкам - то как определить, какой порядок сортировки и по каким полям активен в данный момент? BRWNN::SortOrder в эмбедах использовать не удаётся, компилятор ругается, что приватные данные.
Написал: Капитан(67)
Гость

Сообщение Гость »

Все очень просто Делаешь бровс по файлу, без ключа В свойствах Extandid option указываешь Enable sort header и все
Когда щелкаешь мышью по колонке она сортирует список по этой колонке
С уважением
Виктор
vlenkov@mail.ru
icq 310260270
Написал: Виктор(10)
Гость

Сообщение Гость »

Виктор, Вы, простите, но совершенно не поняли вопроса. Я знаю, как сделать сортировку по заголовкам столбцов, уже сделал. Вопрос в том, как в коде отслеживать, по каким полям юзером сделана сортировка в данный момент времени.
Написал: Капитан(67)
Гость

Сообщение Гость »

на моём сайте в разделе Download есть:
MAVExample.zip - может кому надо

пример отлова нажатия на заголовки List контрола с последующим переключением сортировки

Andrew Myalin
andrew@arsis.ru
http://mavcla.arsis.ru (MAV Direct ODBC)
ICQ: 10659412
Yahoo group: clarion@yahoogroups.com
Написал: ClaList(2)
Гость

Сообщение Гость »

Это чем-то отличается от штатного в Clarion 6? У меня вопрос по штатному.
Написал: Капитан(67)
Гость

Сообщение Гость »

Андрей, я посмотрел. Там, во-первых, в файле MAVLocator.clw компилер ругается на строчку

SELF.useLocator &= SELF.W $ SELF.Control{PROP:UseAddress}

а во-вторых, я хотел узнать про штатное средство, а не самодельное.
Написал: Капитан(67)
gopstop2007
Полимат
Сообщения: 1830
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 28 раз
Поблагодарили: 10 раз

Сортировка по заголовкам полей броуза - как поймать?

Сообщение gopstop2007 »

подымаю, как узнать какая колонка в данный момент отсортирована в Browse, типа GetSort :)
C10 ABC
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Admin
Администратор
Сообщения: 4011
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Сортировка по заголовкам полей броуза - как поймать?

Сообщение Admin »

Код: Выделить всё

BRW1:Browse.Sortered                     FUNCTION(*LONG Column)
 CODE
 ! показать столбец по которому отсортирован бровз
 MESSAGE('Column: ' & Column)
 RETURN PARENT.Sortered(Column)
Сохраняй в переменную и используй
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
kreator
✯ Ветеран ✯
Сообщения: 5190
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Сортировка по заголовкам полей броуза - как поймать?

Сообщение kreator »

Admin писал(а):Код: Выделить всё
BRW1:Browse.Sortered FUNCTION(*LONG Column)
CODE
! показать столбец по которому отсортирован бровз
MESSAGE('Column: ' & Column)
RETURN PARENT.Sortered(Column)


Сохраняй в переменную и используй
Это что за метод? В MAV? gopstop2007, о чём речь? MAV, SortHeaderclass?
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1830
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 28 раз
Поблагодарили: 10 раз

Сортировка по заголовкам полей броуза - как поймать?

Сообщение gopstop2007 »

Admin писал(а):Код: Выделить всё
BRW1:Browse.Sortered FUNCTION(*LONG Column)
CODE
! показать столбец по которому отсортирован бровз
MESSAGE('Column: ' & Column)
RETURN PARENT.Sortered(Column)
Сохраняй в переменную и используй
Я вроде не в MAV группе написал :D
kreator писал(а):Это что за метод? В MAV? gopstop2007, о чём речь? MAV, SortHeaderclass?
Мне тоже интересно :D
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3306
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 51 раз
Контактная информация:

Сортировка по заголовкам полей броуза - как поймать?

Сообщение Дед Пахом »

gopstop2007 писал(а): подымаю, как узнать какая колонка в данный момент отсортирована в Browse, типа GetSort C10 ABC

Код: Выделить всё

!Return the column that is used to sort
!If there are more than one column it return the last selected column
SortHeaderClassType.GetSortOrder PROCEDURE
С уважением, ДП
gopstop2007
Полимат
Сообщения: 1830
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 28 раз
Поблагодарили: 10 раз

Сортировка по заголовкам полей броуза - как поймать?

Сообщение gopstop2007 »

Дед Пахом писал(а):

Код: Выделить всё

!Return the column that is used to sort
!If there are more than one column it return the last selected column
SortHeaderClassType.GetSortOrder PROCEDURE
спасибо за подсказку, рабочим является данное решение

Код: Выделить всё

Column = BRW?::SortHeader.GetSortOrder()
обидно Аднако, но в help-e об этом даже нет намека :(
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 5190
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Сортировка по заголовкам полей броуза - как поймать?

Сообщение kreator »

gopstop2007 писал(а):спасибо за подсказку, рабочим является данное решение

Код: Выделить всё
Column = BRW?::SortHeader.GetSortOrder()
обидно Аднако, но в help-e об этом даже нет намека
Наверно, не совсем точно. Метод GetSortOrder возвращает строку. Если сортировка по нескольким полям (да ещё с разным направлением), то эту строку ещё нужно разбирать. Надо посмотреть.
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3306
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 51 раз
Контактная информация:

Сортировка по заголовкам полей броуза - как поймать?

Сообщение Дед Пахом »

kreator писал(а): Метод GetSortOrder возвращает строку
Ага :-)

Код: Выделить всё

GetSortOrder           PROCEDURE(),LONG
С уважением, ДП
kreator
✯ Ветеран ✯
Сообщения: 5190
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Сортировка по заголовкам полей броуза - как поймать?

Сообщение kreator »

Я не прав, я думал о методе GetStringFromSort. А GetSortOrder возвращает последний нажатый столбец. Может и достаточно этого. Давай спросим у gopstop2007 зачем понадобилось знать столбец сортировки. Может и мне нужно, а я не знаю.
We are hard at work… for you. :)
Ответить