Страница 1 из 1
Фильтрация в листе: "начинается с" и "содержи
Добавлено: 02 Май 2006, 10:01
StillZero
Стандартный лист - одно поле - Наименование товара
Есть стандартный entry-локатор.
В настройках листа, установлен тип поиска "begins with".
Хочу сделать рядом с локаторам галку типа "искать внутри слова". В этом случае должен происходить поиск в листе по условию LIKE '%Search String%'
Как это реализовать?
Re: Фильтрация в листе: "начинается с" и "сод
Добавлено: 03 Май 2006, 8:07
Andrew™
StillZero писал(а):Стандартный лист - одно поле - Наименование товара
Есть стандартный entry-локатор.
В настройках листа, установлен тип поиска "begins with".
Хочу сделать рядом с локаторам галку типа "искать внутри слова". В этом случае должен происходить поиск в листе по условию LIKE '%Search String%'
Как это реализовать?
ставь галку - CHECK Filter for BrowseBox, и в качестве условия фильтрации задай OR "содержит" по локаторному полю и условие - Condition - если локаторное поле не пустое
Добавлено: 04 Май 2006, 8:50
StillZero
че та не въехал
вроде все сделал как надо..не работает, ваще на эту галку не обращает внимания, т.е. запрос формирует без этой галки
по другому: простой check-box повесил, в условия листа в default condition вставил %_% по условию ГалкаВключена и len(loc_Locator), поставил OR
формирует запрос вида:
...WHERE SpareName LIKE SearchStr% AND SpareName LIKE %SearchStr%
не выходит вообщем...
Добавлено: 04 Май 2006, 9:24
Andrew™
StillZero писал(а):че та не въехал
вроде все сделал как надо..не работает, ваще на эту галку не обращает внимания, т.е. запрос формирует без этой галки
по другому: простой check-box повесил, в условия листа в default condition вставил %_% по условию ГалкаВключена и len(loc_Locator), поставил OR
формирует запрос вида:
...WHERE SpareName LIKE SearchStr% AND SpareName LIKE %SearchStr%
не выходит вообщем...
у локатора есть два режима поиска с/без учёта доп фильтров, в RUN TIME погляди на POPUP по правой кнопке мыши на локаторном поле, и в свойствах шаблона для локатора можно выставить default значение или жёсткое значение для режима поиска по локаторному полю
Добавлено: 04 Май 2006, 10:16
StillZero
у локатора есть два режима поиска с/без учёта доп фильтров
ага, выключено было
заработала
но не с первого раза...

вставил в условие check-фильтра:
loc:FlagSearchInside and len(loc_Locator)
где loc:FlagSearchInside BYTE
и присвоил эту переменную как USE-метку этому чек-боксу.
так вот loc:FlagSearchInside всегда равно нулю
Добавлено: 04 Май 2006, 11:14
Andrew™
StillZero писал(а):у локатора есть два режима поиска с/без учёта доп фильтров
ага, выключено было
заработала
но не с первого раза...

вставил в условие check-фильтра:
loc:FlagSearchInside and len(loc_Locator)
где loc:FlagSearchInside BYTE
и присвоил эту переменную как USE-метку этому чек-боксу.
так вот loc:FlagSearchInside всегда равно нулю
check боксу ничего присваивать не надо т к я в классе переопределяю use переменную, юзай сооветсующую BRWx:Filter.Field свойство класса после его инициализации
Добавлено: 06 Май 2006, 8:20
Денис
А можно ли сделать наращиваемый фильтр. Например сначала ищем "Конд" (Кондиционер), а потом "Sams" (Samsung), т.е. сначала появляется список всех кондиционеров а потом отбираются кондиционеры марки Samsung.
Добавлено: 06 Май 2006, 8:26
Andrew™
Денис писал(а):А можно ли сделать наращиваемый фильтр. Например сначала ищем "Конд" (Кондиционер), а потом "Sams" (Samsung), т.е. сначала появляется список всех кондиционеров а потом отбираются кондиционеры марки Samsung.
руками можно сделать всё, заведи Queue - добавляй в неё номер колонки и локаторное значение, в .Where формируй SELF.Select.Where по этой Queue, а так это есть Auto Filter - сидит в планах реализации - будет как в Excel, над LIST будеть LIST с одной строкой EIP - местоположение колонок обеих листов будет синхронизировано, вводим значения для каждой колонки и фильтруем
Добавлено: 06 Май 2006, 15:50
Денис
Ну это несовсем AutoFilter, т.к. поиск происходит в одной и тойже колонке. Просто наименование товара может быть длинным.