Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.044 c
11-1149004549
parovoZZ
2006-05-30 19:55
2007.03.04
Стоит ли ставить сабж


2-1171446454
Alex7
2007-02-14 12:47
2007.03.04
свойство "ButtonStyle"


6-1158341933
SamProf
2006-09-15 21:38
2007.03.04
Как заставить WebBrowser открывать в себе


2-1171134658
niil
2007-02-10 22:10
2007.03.04
Передача массива как параметра в функцию


15-1170409128
Vlad Oshin
2007-02-02 12:38
2007.03.04
Чем бы промониторить mySql, так же как Profiler мониторит MSSQL?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский