Форум: "Основная";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Внизфильтрация в DBGridEh через STFilter - работает неадекватно Найти похожие ветки
← →
alex_*** © (2007-01-11 12:20) [0]STFilter.Local := false;
в SQL прописал
where /*FILTER*/ (1=1) - работает.
то же самое прописал в соседнем query - не работает.
Проверил настройки гридов - одинаковые.
Перенес первый грид с query в тестовый проект - не работает.
Чего-то я не догоняю от чего зависит работоспособность STFilter
← →
Reindeer Moss Eater © (2007-01-11 12:23) [1]Чего-то я не догоняю от чего зависит работоспособность STFilter
От специализированных потомков класса TDBFeatures.
← →
alex_*** © (2007-01-11 12:25) [2]типа шутка юмора?
распечатываю SQL.Text на BeforeOpen. В первом случае нормально подставляется условие отбора, в других набор даже не переотрывается
← →
Reindeer Moss Eater © (2007-01-11 12:45) [3]типа шутка юмора?
Кому как.
← →
Reindeer Moss Eater © (2007-01-11 12:49) [4]procedure TDBGridEhDataService.DefaultApplyFilter(AGrid: TCustomDBGridEh);
var
DatasetFeatures: TDatasetFeaturesEh;
begin
if (AGrid.DataSource <> nil) and (AGrid.DataSource.DataSet <> nil) then
begin
DatasetFeatures := GetDatasetFeaturesForDataSet(AGrid.DataSource.DataSet);
if DatasetFeatures <> nil then
DatasetFeatures.ApplyFilter(AGrid, AGrid.DataSource.DataSet, True);
end;
end;
← →
alex_*** © (2007-01-11 13:07) [5]спасибо, конечно, за науку, но ведь тип query у меня один и тот же и TDatasetFeaturesEh д.б. постоянный.
← →
Reindeer Moss Eater © (2007-01-11 13:39) [6]Ну может в uses второго проекта не включен модуль, в котором реализованы фичи для BDE датасетов. Или текст запроса так составлен, что парсер не может понять куда where лепить.
← →
alex_*** © (2007-01-11 14:07) [7]кто здесь говорил про БДЕ? ADOQuery.
кроме DBGridEh никаких модулей из EhLib не подключено ни в 1 , ни во 2 проекте
← →
alex_*** © (2007-01-11 14:08) [8]вобщем сам буду фильтр составлять, надоели эти фичи или глюки
← →
Reindeer Moss Eater © (2007-01-11 14:14) [9]кто здесь говорил про БДЕ? ADOQuery.
А кто должен был говорить про то, какие у него датасеты?
кроме DBGridEh никаких модулей из EhLib не подключено ни в 1 , ни во 2 проекте
Оптический обман. Если в юзез ни в одном модуле нет EhLibADO.Pas, то фильтрация не будет работать вообще нигде.
надоели эти фичи или глюки
Слова не мальчика, но мужа.
← →
alex_*** © (2007-01-11 14:34) [10]
> Если в юзез ни в одном модуле нет EhLibADO.Pas, то фильтрация
> не будет работать вообще нигде
тем не менее, как-то она работает без него
← →
Reindeer Moss Eater © (2007-01-11 14:45) [11]unit EhLibADO;
.....
initialization
RegisterDatasetFeaturesEh(TADOSQLDatasetFeaturesEh, TADOQuery);
RegisterDatasetFeaturesEh(TADOCommandTextDatasetFeaturesEh, TCustomADODataSet);
end.
Без выполненного кода в initialization не будет работать. надеюсь с этим спорить не будем? Просто модуль EhLibADO уже включен в пакет EhLibХ0.dpk
← →
alex_*** © (2007-01-11 14:46) [12]явно в uses он у меня не прописан и как-то работает
← →
Reindeer Moss Eater © (2007-01-11 14:58) [13]package EhLib70;
.....
EhLibVCL in "EhLibVCL.pas",
EhLibIBX in "..\DataService\EhLibIBX.pas",
EhLibADO in "..\DataService\EhLibADO.Pas";
end.
← →
alex_*** © (2007-01-11 15:13) [14]все это понятно.
Все оказалось просто до отвратительного:
строка "/*FILTER*/ (1=1)" должна идти с новой строки с первой позиции без пробелов:
" /*FILTER*/ (1=1)" - не работает.
Вот блин, кто бы мог подумать. На удаление пробела потратил полдня :(
Хотя надо было мануал внимательнее читать:
So your SQL query have to have a line that begining from "/*Filter*/"
← →
alex_*** © (2007-01-11 15:17) [15]работает даже с TADODataSet что радует.
← →
Reindeer Moss Eater © (2007-01-11 15:33) [16]Reindeer Moss Eater © (11.01.07 13:39) [6]
Ну может в uses второго проекта не включен модуль, в котором реализованы фичи для BDE датасетов. Или текст запроса так составлен, что парсер не может понять куда where лепить.
← →
alex_*** © (2007-01-11 15:38) [17]
> Или текст запроса так составлен, что парсер не может понять
> куда where лепить.
ну это абстрактные размышления. Все равно спасибо - остановил меня во время доводки своей реализации фильтра на ApplyFilter
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c