Вниз
Скачать: CL | DM;

Установка фильтра в 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
3-21984
Mr. Andrew
2001-12-05 20:39
2002.01.08
Обновление данных


1-22235
DDDeN
2001-12-17 06:47
2002.01.08
Заставка


1-22038
Дима~
2001-12-18 17:53
2002.01.08
Каким образом передать в запускаемый файл командную строку?


14-22411
MadBurro
2001-11-12 20:52
2002.01.08
WinXP cd-key


1-22234
x000d
2001-12-17 01:34
2002.01.08
Активное ,не активное.




   Наверх