Позиционирование записи при загрузке Browse и StartAtCurrent
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Позиционирование записи при загрузке Browse и StartAtCurrent
ABC. Есть форма на броузах (не на дропах и дропкомбо). Надо при её открытии позиционировать эти броузы на определённую запись. Как? Вроде есть свойство StartAtCurrent для этого. Но что-то не получается, делаю по хелпу. Что можно сделать?
We are hard at work… for you.
- ingasoftplus
- Ветеран
- Сообщения: 425
- Зарегистрирован: 26 Декабрь 2006, 17:07
- Откуда: Оттуда :)
- Благодарил (а): 90 раз
- Поблагодарили: 5 раз
Позиционирование записи при загрузке Browse и StartAtCurrent
чтобы это работало - надо сначала инициализоровать (взять) запись, а уж потом применять это свойство.
типа этого (где-то в Init процедуры ):
типа этого (где-то в Init процедуры ):
Код: Выделить всё
! Check for "Browse Priming" variable ...
if GLO:PrimeBrowse <> ''
clear(APR:Record)
APR:Name = GLO:PrimeBrowse
set(APR:ByName,APR:ByName)
next(ACCPROF)
if errorcode()
clear(APR:Record)
.
BRW1.StartAtCurrent = true
.
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Позиционирование записи при загрузке Browse и StartAtCurrent
Я типа такого и делаю (как раз в Init броуза до "Parent Call"):
Чего-то не хватает, видимо. Может быть не в том месте?
Код: Выделить всё
if wm.Request=ChangeRecord or wm.Request=ViewRecord
ASP0:ID_SPR = DEF:VID
Access:A0SPRAV.Fetch(ASP0:PrimaryKey)
self.StartAtCurrent = True
end
We are hard at work… for you.
- ingasoftplus
- Ветеран
- Сообщения: 425
- Зарегистрирован: 26 Декабрь 2006, 17:07
- Откуда: Оттуда :)
- Благодарил (а): 90 раз
- Поблагодарили: 5 раз
Позиционирование записи при загрузке Browse и StartAtCurrent
в INIT окна. после инициализации бровзов.
т.е. у меня явно BRW1.StartAtCurrent = true
т.е. у меня явно BRW1.StartAtCurrent = true
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Позиционирование записи при загрузке Browse и StartAtCurrent
Господа ! Всё очень правильно - но только в Ваших примерах должен быть включен режим SelectRecord.
А вообще, тема подробно разбиралась вот здесь: viewtopic.php?f=1&t=3606
И вот здесь: viewtopic.php?t=2525
Дежавю ?
А вообще, тема подробно разбиралась вот здесь: viewtopic.php?f=1&t=3606
И вот здесь: viewtopic.php?t=2525
Дежавю ?
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Позиционирование записи при загрузке Browse и StartAtCurrent
Возможно. Только устойчивого решения нет. Всё великолепно работает, если это окно с одним броузом, да ещё и в режиме SelectRecord.
Я как раз и уцепился за этот StartAtCurrent, потому что вроде как это свойство для этого. Если посмотреть метод BrowseClass.SetSort:Игорь Столяров писал(а): ↑11 Март 2022, 9:08 только в Ваших примерах должен быть включен режим SelectRecord.
Код: Выделить всё
IF (SELF.Selecting OR SELF.StartAtCurrent) AND ~SELF.Loaded
И, да, у меня форма с множеством броузов.
И, да, это не работает тоже. Увы.ingasoftplus писал(а): ↑10 Март 2022, 15:35 в INIT окна. после инициализации бровзов.
т.е. у меня явно BRW1.StartAtCurrent = true
Скорее всего причина в том, что у меня несколько броузов по одной таблице. Надо искать другие варианты.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Позиционирование записи при загрузке Browse и StartAtCurrent
Да. Именно так. Мы открываем список и сразу подсвечиваем ранее выбранное значение (запись).
И здесь никто не может сказать, что есть какие-то проблемы с логикой работы приложения ...
Технологически - это не проблема, ведь каждого BROWSE свой буфер VIEW.
Сложнее с событиями, точнее даже с последовательностью их обработки ...
Я бы рекомендовал попробовать сделать как в первой ссылке - попробуйте добавить
скрытую кнопку по нажатию которой выполняется задуманное Вами позицирование записей.
Если это в принципе работает - "нажимайте" эту кнопку по событию после открытия окна и всё.
За теми кто отстал - не возвращаться. (С) Кодекс