Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];

Вниз

Установка фильтра в TDStringGrid   Найти похожие ветки 

 
phantom2040   (2001-12-04 13:27) [0]

Люди помогите пожалуйста!
Проблема с синтаксисом, нужно установить фильтр в TDStringGrid, из поля TEedit1, но не один фильтр а несколько то есть я хочу установит несколько фильтров, значит следующий пример работает:
DataModule.DataSource.DataSet.Filter:="name="+QuotedStr(Edit1.Text+"*");
но установка 2 фильтров типа
DataModule.DataSource.DataSet.Filter:="name="+QuotedStr(Edit1.Text+"*")and "io="+QuotedStr(Edit2.Text+"*");
почему-то не прокатывает, хотя когда пишу непосредственнов свойстве Filter все работает, информация по справкам довольно скудная, и сам я не смого разобраться с синтаксисом, помогите??


 
Slava   (2001-12-04 13:43) [1]

Св-во Filter имеет тип String.
У тебя то, что справа от ":=" имеет тип String?


 
Igorok   (2001-12-04 15:05) [2]

попробуй так, проще и наглядней чем строки суммировать....

DataSource1.DataSet.Filter := Format("(name Like %s) and (io Like %s)",[QuotedStr(Edit1.Text+"*"),QuotedStr(Edit2.Text+"*")]);


 
Котелок   (2001-12-05 01:00) [3]

DataModule.DataSource.DataSet.Filter:="name="+QuotedStr(Edit1.Text+"*")+" and "+"io="+QuotedStr(Edit2.Text+"*");

and Тоже в фильтр входит его надо добавлять к строке;


 
EsKor   (2001-12-06 03:14) [4]

Замечание от "Котелка" совершенно справедливо, поскольку Filter имеет текстовый (строковый) тип, т.е. формат должен быть такой:
Filter:="условие";. "условие" м.б. "каким угодно" сложным.
Дополнительные "грабли" существуют при задании фильтра следующего вида:
X = "техт". В этом случае необходимо формировать строку в строке, типа
Filter := "X=""" + ComboBox.Text + """".
Кроме того, если используете операторы типа AND, OR и т.п., заключайте выражения до и после них в скобки. Не знаю как в Фильтре, а согласно синтаксису языка Object Pascal эти операторы имеют достаточно высокий приоритет, т.е. запись x = a AND b, будет обрабатываться как x = (a AND b),
а x > a AND x < b, может предстать в виде x > (a AND b) < b с соответствующими последствиями.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];

Наверх









Память: 0.82 MB
Время: 0.034 c
14-22385
модератор
2001-11-03 11:57
2002.01.08
>To Merlin - (SYSTRAY)


1-22115
DerZky
2001-12-19 18:14
2002.01.08
Как сравнить даты и разницу между ними получить Integer


3-21936
vvs
2001-12-05 06:42
2002.01.08
Delphi5+SQL Server7 нормально, а Delphi5+SQL 2000 бред


1-22227
Tosov
2001-12-15 10:43
2002.01.08
Как работать с TInplaceEdit


3-21931
SklifF
2001-12-04 15:59
2002.01.08
Что это за ошибка? Capability not suppoted





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский