Страница 1 из 1

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

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

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

И в броузе набрав в поле "Хрень" или попадаешь на первое поле( а нажав кнопочку переходишь на второе), или сразу в броузе остаются только эти записи.
Как-то так.
Пишу в application.
Может есть какие шаблоны готовые? Или кто ручками уже писал?

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

Добавлено: 02 Февраль 2013, 16:27
Дед Пахом
Фильтр подойдёт, что-то вроде "Locator = '' OR INSTRING(CLIP(Locator), DB:FieldValue, 1, 1)", прямо в поле Filter шаблона Browse, и забайндить (Hot fields) поля Locator и DB:FieldValue.

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

Добавлено: 05 Февраль 2013, 14:01
Алексей- Софт-Центр
Добрый день!
или сразу в броузе остаются только эти записи.
1. Заходишь в extansion броуза.
2. Выбираешь locator behavior
3. Locator ставишь Filtered
4. Взводишь галку Find Aniver


Алексей

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

Добавлено: 06 Февраль 2013, 17:29
sasa72
Фильтр что-то так и не смог запустить.
А вот с Find Aniver получилось.
Большое спасибо

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

Добавлено: 07 Февраль 2013, 14:31
Ал
Что конкретно надо-то? :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
или без) + можно дополн. вкл. сортировку по столбцам - даст возможность искать по содержанию выбранного юзером столбца, а не по ключу или по всей строке бровза...

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

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

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