Нужен контекстный локатор

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
sasa72
Новичок
Сообщения: 6
Зарегистрирован: 26 Январь 2013, 10:01

Нужен контекстный локатор

Сообщение sasa72 »

Здравствуйте Все.
На Кларионе пишу давно, но очень периодически. Поэтому ответы, если можно , разжуйте побольше :)

На Clarion 6.0 в броузе нужно создать поиск по контексту.
Например в базе присутствуют:
ОАО "РайХреньБаза"
Завод "ХреньДам"

И в броузе набрав в поле "Хрень" или попадаешь на первое поле( а нажав кнопочку переходишь на второе), или сразу в броузе остаются только эти записи.
Как-то так.
Пишу в application.
Может есть какие шаблоны готовые? Или кто ручками уже писал?
С уважением, Александр.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Нужен контекстный локатор

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

Фильтр подойдёт, что-то вроде "Locator = '' OR INSTRING(CLIP(Locator), DB:FieldValue, 1, 1)", прямо в поле Filter шаблона Browse, и забайндить (Hot fields) поля Locator и DB:FieldValue.
С уважением, ДП
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Нужен контекстный локатор

Сообщение Алексей- Софт-Центр »

Добрый день!
или сразу в броузе остаются только эти записи.
1. Заходишь в extansion броуза.
2. Выбираешь locator behavior
3. Locator ставишь Filtered
4. Взводишь галку Find Aniver


Алексей
sasa72
Новичок
Сообщения: 6
Зарегистрирован: 26 Январь 2013, 10:01

Re: Нужен контекстный локатор

Сообщение sasa72 »

Фильтр что-то так и не смог запустить.
А вот с Find Aniver получилось.
Большое спасибо
С уважением, Александр.
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

Re: Нужен контекстный локатор

Сообщение Ал »

Что конкретно надо-то? :D
sasa72 писал(а): есть какие шаблоны готовые
sasa72 писал(а):Фильтр что-то так и не смог запустить.
ABC? Select Control Template - BrowseFuzzyMatching...
потом "ручками" -
Дед Пахом писал(а):Фильтр подойдёт, что-то вроде "Locator = '' OR INSTRING(CLIP(Locator), DB:FieldValue, 1, 1)", прямо в поле Filter шаблона Browse, и забайндить (Hot fields) поля Locator и DB:FieldValue.
- и тот же фильтр можно и в репорты и тп...
К варианту со стандартным Locator - Filtered (c
sasa72 писал(а):с Find Aniver
или без) + можно дополн. вкл. сортировку по столбцам - даст возможность искать по содержанию выбранного юзером столбца, а не по ключу или по всей строке бровза...
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Нужен контекстный локатор

Сообщение Shur »

Есть ещё один способ для тех, кто работает с SQL, до этого не обсуждавшийся.
Нижеследующий код можно повесить на событие ACCEPTED для локатора, коим в данном случае является ?LOC:BoxKod.
Думаю, не надо говорить, что фильтрацию таким образом можно организовать по любому, а не только ключевому полю.

update(?LOC:BoxKod)
BRW2::View:Browse{PROP:SqlFilter}='a.boxkod like ''%'&LOC:BoxKod&'%'''
BRW2.ResetFromFile
?List{PROP:SelStart}=1
Ответить