![]() |
|
![]() ![]() ![]() |
|
faust911 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.8.2007 Репутация: нет Всего: нет |
На всех форумах пишут: "Для того чтобы фильтр срабатывал не по нажатию "Enter" а после выбора элемента из списка необходимо задать переменную:
DBGridEhDefaultStyle()->FilterEditCloseUpApplyFilter = true; Для С++ или initialization DBGridEhDefaultStyle.FilterEditCloseUpApplyFilter := True; Для Delphy Я использую RAD Studio 2009 и Ehlib 4.4, пишу на С++ и не могу найти переменную FilterEditCloseUpApplyFilter Функция DBGridEhDefaultStyle() есть, а переменной нету. Все остальное работает... Хотелось бы понять в чем загвоздка, подскажите пожалуйста. |
|||
|
||||
vovk |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 28.2.2008 Репутация: 6 Всего: 6 |
ЭЭ мож вы ветку перепутали ? тут вообщето дельфи обсуждают.. ну паскаль там .. ну не как не c++ ![]() Это сообщение отредактировал(а) vovk - 28.4.2009, 21:06 |
|||
|
||||
faust911 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.8.2007 Репутация: нет Всего: нет |
кхххх точно
![]() |
|||
|
||||
Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
||||
|
||||
faust911 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.8.2007 Репутация: нет Всего: нет |
А как до FilterEditCloseUpApplyFilter добраться?
|
|||
|
||||
faust911 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.8.2007 Репутация: нет Всего: нет |
Разобрался... Если кому будет полезно, то чтобы сделать фильтрацию без лишних нажатий клавиши Enter - необходимо использовать:
Delphy: DBGridEhDefaultStyle.FilterEditCloseUpApplyFilter := True; // EhLib до версии 4.2 DBGridEhCenter.FilterEditCloseUpApplyFilter:=true; // версия 4.2 C++: DBGridEhDefaultStyle()->FilterEditCloseUpApplyFilter = True; // EhLib до версии 4.2 DBGridEhCenter()->FilterEditCloseUpApplyFilter =true; // версия 4.2 |
|||
|
||||
TopCore |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.8.2009 Репутация: нет Всего: нет |
Здравствуйте все! Подскажите мне, пожалуйста, почему не получается фильтровать. Вроде делаю всё, как описано: STFilter.Visible и Local := true; ListSource задал, DataField задал. Использую OracleDataSet. Что нужно ещё где-то написать, чтобы фильтр заработал? Пробовал писать OnApplyFilter - не фильтрует всё равно. Не пойму ещё, в каком именно месте нужно написать /*Filter*/?
|
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Компоненты доступа как называются ODAC? Если да, то нужно OracleDataset поставить свойство Filtered;=True и написать модуль EhLibODAC по аналогии с EhLibBDE. Свой моуль прикладываю, но он только для TOraQuery и TOraTable и для Ehlib 5.2. Но сами разберетесь, там не сложно. Присоединённый файл ( Кол-во скачиваний: 61 ) ![]() -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
TopCore |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.8.2009 Репутация: нет Всего: нет |
Компоненты DOA v4.1.2, EhLib v5.0. Спасибо огромное за информацию. Этим и подумал заняться (переписать под ORACLE), но мне советовали переписать EhLibADO. В данный момент разбираться со всеми модулями времени нет, поэтому подскажите, пожалуйста, какой лучше модуль переписывать? Реализовал событие правильно OnApplyFilter и фильтр заработал, но не совсем гладко: при первом выборе всё фильтруется; при раскрывании фильтра во второй раз в списке оказывается всего лишь 5 элементов ("Clear filter"..., и пятый один единственный выбранный ранее элемент). Т.е. во второй раз (и в следующие разы) могу фильтровать только один элемент, который выбрал в первый раз. Плюс ко всему, если я выберу "Clear filter" (или "Empty", "Not empty"...), то выводит сообщение об ошибке EExpression ... 'Unexpected end of factor'. Что делать? Заранее спасибо! Это сообщение отредактировал(а) TopCore - 25.11.2010, 09:14 |
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Да EhLibADO лучше, я попутал, давно просто его переписывал и что-то слегка подзабыл.
-------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
TopCore |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.8.2009 Репутация: нет Всего: нет |
Почти всё сделал. Но в EhLib 5.0 в классе TSQLDatasetFeaturesEh нет процедуры FillSTFilterListDataValues. Она автоматом заполняет STFilter всеми значениями? У меня после первого выбора значения в фильтре остаётся только оно. Как это можно побороть? Написать своё заполнение?
|
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
У меня этот модуль работает на EhLib 5.2 без проблем. Для 4 версии модуль слегка другой.
-------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
TopCore |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.8.2009 Репутация: нет Всего: нет |
Vas, очень помог Ваш файл. Большое спасибо! Но есть другая проблемка, может Вы сталкивались с ней: при повторном открытии фильтра, там всего лишь одна запись, которую я выбрал. Как сделать, чтобы STFilter заполнялся снова всеми записями?
|
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Что-то странно, в той колонке в которой фильтр уже выбран все записи, а в других только те которые соответствуют отфильтрованным - это для MemTableEh. А если подключать в фильтр отдельные запросы и указывать их для колонки, то они всегда полными остаются.
Это сообщение отредактировал(а) Vas - 19.12.2010, 09:46 -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |